|
Основной форум Сюда все проблемы связанные с программированием. |
10.11.2011, 19:38
|
#1
|
Оператор ЭВМ
Регистрация: 12.10.2011
Адрес: Воронеж
Сообщений: 46
Написано 2 полезных сообщений (для 2 пользователей)
|
Работа музыки и ресурсных файлов
простите за флуд , кто имеет опыт использования музыки и ресурсов в мидлетах ?
две простейшие программы у меня компилятся но работать упорно не хотят как надо (ни на телефоне ни даже на компе в эмуляторе) . вопрос , что неправильно , ставит в полнейший ступор . просто нЕгде ошибке спрятаться . что написано в справке я уже читал . вот код
var
res : resource;
line : string;
index : integer;
begin
res := openResource('/data.txt');
setcolor(0,0,0);
if (resourceAvailable(res)) then
begin
line := readLine(res);
closeResource(res);
end;
showForm;
index := formAddString('Line is: ' + line);
repaint;
delay(5);
end.
(эксперимент на использование ресурсов)
program NewProject;
uses user;
var exit:command;
begin
exit:=createcommand('Выход',CM_BACK,1);
addcommand(exit);
setcolor(100,100,100);
if openPlayer('/Rahmaninov.mp3','audio/mpeg') then
drawtext('Слушаем музыку',7,7)
else
drawtext('ошибка',7,7);
if startplayer then
delay(2000);
clrscr;
drawtext('продожлжительность музыки',7,17);
drawtext(integertostring(getPlayerDuration),7,27);
delay(getPlayerDuration);
repeat
delay(100);
until getclickedcommand=exit;
repaint;
delay(2000);
end.
(на использование музыки)
|
(Offline)
|
|
Сообщение было полезно следующим пользователям:
|
|
11.11.2011, 20:52
|
#2
|
Разработчик
Регистрация: 07.04.2011
Адрес: Млечный путь, Земля, Европа, Беларусь, Могилев
Сообщений: 391
Написано 94 полезных сообщений (для 319 пользователей)
|
Ответ: Работа музыки и ресурсных файлов
1. проверь регистр музыкально файла. Большие буквы<>маленькие буквы.
2. Формат mp3 (впрочем, как и wav) имеет в своих настройках 100500 кодеков. На мобильных устройствах работают только некоторые.
__________________
Мечта программиста: запрограммировать процесс программирования.
Всё гениальное - просто.
http://passcall.ucoz.com
|
(Offline)
|
|
12.11.2011, 14:43
|
#3
|
Оператор ЭВМ
Регистрация: 12.10.2011
Адрес: Воронеж
Сообщений: 46
Написано 2 полезных сообщений (для 2 пользователей)
|
Ответ: Работа музыки и ресурсных файлов
1 пункт - исключено , я не настолько юзер . 2 - увы , возможно
|
(Offline)
|
|
12.11.2011, 14:54
|
#4
|
Оператор ЭВМ
Регистрация: 12.10.2011
Адрес: Воронеж
Сообщений: 46
Написано 2 полезных сообщений (для 2 пользователей)
|
Ответ: Работа музыки и ресурсных файлов
1 пункт - исключено , я не настолько юзер . 2 - увы , возможно . а ресурсные файлы ???? в чем проблема ? я читал что JAVA внутри себя понимает UTF-8 , ну и создал data.txt блокнотом в UTF-8. смотрю в книгу вижу фигу . даже если у меня была задержка после основного кода программы delay(5), мидлет выдавал титанически большую задержку . при попытке выяснить , какое значение принимает resourceAvailable(res) , цикл if не дал ни одну из своих двух веток-результатов . толи выполнение виснет даже раньше , толи определение resourceAvailable(res) глючит . из-за этих двух казалось бы элементарных вещей я не могу написать мои классные задумки . ПЛИЗЗЗЗЗ ХЕЛП !!!!
Сообщение от PassCall
2. Формат mp3 (впрочем, как и wav) имеет в своих настройках 100500 кодеков. На мобильных устройствах работают только некоторые.
|
какие именно ? сам знаешь ? я использую конвертер аимпа встроенный . как мне перегнать музыку чтобы она на JAVA пошла ??
|
(Offline)
|
|
12.11.2011, 15:09
|
#5
|
Разработчик
Регистрация: 07.04.2011
Адрес: Млечный путь, Земля, Европа, Беларусь, Могилев
Сообщений: 391
Написано 94 полезных сообщений (для 319 пользователей)
|
Ответ: Работа музыки и ресурсных файлов
Начет ресурсов могу подсказать 2 вещи:
1. Всегда сать в конце ресурса (доплнительно) пустую строчку, иначе при прочтении виснет.
2. Если используеш MidletPascal второй версии, и тебе хочеться читать из ресурса русские символы, держи:
Function Decoder(Deco:string):string;//превращение кракозябр в русские буквы var ch:char; ds:string; d_temp:integer; _i:integer; begin ds:=''; for _i:=1 to length(Deco) do begin ch:=getchar(deco,(_i-1)); d_temp:=ord(ch); if d_temp>122 then ds:=ds+chr(d_temp+1104) else ds:=ds+getchar(deco,_i-1) end; decoder:=ds; end;
__________________
Мечта программиста: запрограммировать процесс программирования.
Всё гениальное - просто.
http://passcall.ucoz.com
|
(Offline)
|
|
Сообщение было полезно следующим пользователям:
|
|
12.11.2011, 16:31
|
#6
|
Разработчик
Регистрация: 27.01.2011
Адрес: Афипский
Сообщений: 419
Написано 100 полезных сообщений (для 182 пользователей)
|
Ответ: Работа музыки и ресурсных файлов
Я так русский текст из ресурсов загружаю:
openres('lang.txt');
i := 1;
repeat
lang[i] := win2utf(readline(res));
until lang[i] = '';
(используется библиотека resloader)
|
(Offline)
|
|
12.11.2011, 16:41
|
#7
|
Разработчик
Регистрация: 07.04.2011
Адрес: Млечный путь, Земля, Европа, Беларусь, Могилев
Сообщений: 391
Написано 94 полезных сообщений (для 319 пользователей)
|
Ответ: Работа музыки и ресурсных файлов
Дык тут даже библиотека не нужна =)
__________________
Мечта программиста: запрограммировать процесс программирования.
Всё гениальное - просто.
http://passcall.ucoz.com
|
(Offline)
|
|
12.11.2011, 16:46
|
#8
|
Разработчик
Регистрация: 27.01.2011
Адрес: Афипский
Сообщений: 419
Написано 100 полезных сообщений (для 182 пользователей)
|
Ответ: Работа музыки и ресурсных файлов
Во-первых, resloader вроде как жрет меньше оперативки, чем стандартные функции, во-вторых, проще перекодировать в utf8, и в-третьих, стандартные функции вроде как не видят конец файла.
|
(Offline)
|
|
13.11.2011, 11:53
|
#9
|
Оператор ЭВМ
Регистрация: 12.10.2011
Адрес: Воронеж
Сообщений: 46
Написано 2 полезных сообщений (для 2 пользователей)
|
Ответ: Работа музыки и ресурсных файлов
Сообщение от PassCall
1. Всегда писать в конце ресурса (дополнительно) пустую строчку, иначе при прочтении виснет.
[/php]
|
спасибо , помогло . а вот русские символы ни твоя идея ни AVL , у меня не заработали . как были кракозябры , так и остались , только другие кракозябры
|
(Offline)
|
|
13.11.2011, 14:09
|
#10
|
Разработчик
Регистрация: 27.01.2011
Адрес: Афипский
Сообщений: 419
Написано 100 полезных сообщений (для 182 пользователей)
|
Ответ: Работа музыки и ресурсных файлов
Перепутал немного. Вот нормальный вариант:
openres('lang.txt');
i := 1;
repeat
lang[i] := win2utf(resloader.readline);
i := i + 1;
until lang[i-1] = '###';
|
(Offline)
|
|
13.11.2011, 14:59
|
#11
|
Разработчик
Регистрация: 07.04.2011
Адрес: Млечный путь, Земля, Европа, Беларусь, Могилев
Сообщений: 391
Написано 94 полезных сообщений (для 319 пользователей)
|
Ответ: Работа музыки и ресурсных файлов
Сообщение от bormotan
спасибо , помогло . а вот русские символы ни твоя идея ни AVL , у меня не заработали . как были кракозябры , так и остались , только другие кракозябры
|
А какая у тебя версия МидлетПаскаля?
__________________
Мечта программиста: запрограммировать процесс программирования.
Всё гениальное - просто.
http://passcall.ucoz.com
|
(Offline)
|
|
13.11.2011, 20:48
|
#12
|
Оператор ЭВМ
Регистрация: 12.10.2011
Адрес: Воронеж
Сообщений: 46
Написано 2 полезных сообщений (для 2 пользователей)
|
Ответ: Работа музыки и ресурсных файлов
Работаю с 2.01 , но есть 3.4 , в удобстве которого я пока не уверился
AVL , не знаю какую версию библиотеки реслодер используешь ты ( коих тут около двух-трех ) , но снова не работает
надеюсь , мне не придется писать свою версию библиотеки , в которой я всю понимаю и знаю что к чему ((
|
(Offline)
|
|
16.11.2011, 12:13
|
#13
|
Оператор ЭВМ
Регистрация: 12.10.2011
Адрес: Воронеж
Сообщений: 46
Написано 2 полезных сообщений (для 2 пользователей)
|
Ответ: Работа музыки и ресурсных файлов
придется экспериментировать с файлами и кодировками . хотя это титанически неудобно . а насчет музыки никто ничего полезного не скажет ??????
|
(Offline)
|
|
17.11.2011, 11:34
|
#14
|
Разработчик
Регистрация: 07.04.2011
Адрес: Млечный путь, Земля, Европа, Беларусь, Могилев
Сообщений: 391
Написано 94 полезных сообщений (для 319 пользователей)
|
Ответ: Работа музыки и ресурсных файлов
Сообщение от bormotan
а насчет музыки никто ничего полезного не скажет ??????
|
Установи что нибудь вроде Sound Forge (для работы со звуком) и поэксперементируй с кодеками. Один два должны работать. А фишка в том что на самом мобильном через плеер любой формат производится а через j2me нефига.
__________________
Мечта программиста: запрограммировать процесс программирования.
Всё гениальное - просто.
http://passcall.ucoz.com
|
(Offline)
|
|
27.11.2011, 12:03
|
#15
|
Оператор ЭВМ
Регистрация: 12.10.2011
Адрес: Воронеж
Сообщений: 46
Написано 2 полезных сообщений (для 2 пользователей)
|
Ответ: Работа музыки и ресурсных файлов
program pr1; var bool:boolean; i,b:integer; begin showform; bool:=false; repeat if getkeyclicked=ke_key0 then i:=formaddstring('0'); if getkeyclicked=ke_key1 then i:=formaddstring('1'); if getkeyclicked=ke_key2 then i:=formaddstring('2'); if getkeyclicked=ke_key3 then i:=formaddstring('3'); if getkeyclicked=ke_key4 then i:=formaddstring('4'); if getkeyclicked=ke_key5 then i:=formaddstring('5'); if getkeyclicked=ke_key6 then i:=formaddstring('6'); if getkeyclicked=ke_key7 then i:=formaddstring('7'); if getkeyclicked=ke_key8 then i:=formaddstring('8'); if getkeyclicked=ke_key9 then i:=formaddstring('9'); if getkeyclicked=ke_none then i:=formaddstring('ни одна клавиша не нажата'); if keytoaction(getkeyclicked)=ga_none then b:=formaddstring('ни одна'); if keytoaction(getkeyclicked)=ga_up then b:=formaddstring('вверх'); if keytoaction(getkeyclicked)=ga_down then b:=formaddstring('вниз'); if keytoaction(getkeyclicked)=ga_left then b:=formaddstring('лево'); if keytoaction(getkeyclicked)=ga_right then b:=formaddstring('право'); if keytoaction(getkeyclicked)=ga_fire then b:=formaddstring('огонь'); if keytoaction(getkeyclicked)=ga_gamea then b:=formaddstring('A'); if keytoaction(getkeyclicked)=ga_gameb then b:=formaddstring('B'); if keytoaction(getkeyclicked)=ga_gamec then b:=formaddstring('C'); if keytoaction(getkeyclicked)=ga_gamed then b:=formaddstring('D'); repaint; delay(100); clearform; until bool;
end.
у меня теперь еще и getkeyclicked и getkeypressed слепые . выдают ke_none , чтобы я ни делал с клавой . на эмуле и телефоне
|
(Offline)
|
|
Ваши права в разделе
|
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения
HTML код Выкл.
|
|
|
Часовой пояс GMT +4, время: 04:35.
|