Извините, ничего не найдено.

Не расстраивайся! Лучше выпей чайку!
Регистрация
Справка
Календарь

Вернуться   forum.boolean.name > Программирование игр для мобильных телефонов > MidletPascal > Основной форум

Основной форум Сюда все проблемы связанные с программированием.

Ответ
 
Опции темы
Старый 10.11.2011, 19:38   #1
bormotan
Оператор ЭВМ
 
Регистрация: 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)
 
Ответить с цитированием
Сообщение было полезно следующим пользователям:
hromos (16.11.2011)
Старый 11.11.2011, 20:52   #2
PassCall
Разработчик
 
Аватар для PassCall
 
Регистрация: 07.04.2011
Адрес: Млечный путь, Земля, Европа, Беларусь, Могилев
Сообщений: 391
Написано 94 полезных сообщений
(для 319 пользователей)
Ответ: Работа музыки и ресурсных файлов

1. проверь регистр музыкально файла. Большие буквы<>маленькие буквы.
2. Формат mp3 (впрочем, как и wav) имеет в своих настройках 100500 кодеков. На мобильных устройствах работают только некоторые.
__________________
Мечта программиста: запрограммировать процесс программирования.

Всё гениальное - просто.

http://passcall.ucoz.com
(Offline)
 
Ответить с цитированием
Старый 12.11.2011, 14:43   #3
bormotan
Оператор ЭВМ
 
Регистрация: 12.10.2011
Адрес: Воронеж
Сообщений: 46
Написано 2 полезных сообщений
(для 2 пользователей)
Ответ: Работа музыки и ресурсных файлов

1 пункт - исключено , я не настолько юзер . 2 - увы , возможно
(Offline)
 
Ответить с цитированием
Старый 12.11.2011, 14:54   #4
bormotan
Оператор ЭВМ
 
Регистрация: 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
PassCall
Разработчик
 
Аватар для PassCall
 
Регистрация: 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)
 
Ответить с цитированием
Сообщение было полезно следующим пользователям:
bormotan (13.11.2011)
Старый 12.11.2011, 16:31   #6
AVL
Разработчик
 
Регистрация: 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
PassCall
Разработчик
 
Аватар для PassCall
 
Регистрация: 07.04.2011
Адрес: Млечный путь, Земля, Европа, Беларусь, Могилев
Сообщений: 391
Написано 94 полезных сообщений
(для 319 пользователей)
Ответ: Работа музыки и ресурсных файлов

Дык тут даже библиотека не нужна =)
__________________
Мечта программиста: запрограммировать процесс программирования.

Всё гениальное - просто.

http://passcall.ucoz.com
(Offline)
 
Ответить с цитированием
Старый 12.11.2011, 16:46   #8
AVL
Разработчик
 
Регистрация: 27.01.2011
Адрес: Афипский
Сообщений: 419
Написано 100 полезных сообщений
(для 182 пользователей)
Ответ: Работа музыки и ресурсных файлов

Во-первых, resloader вроде как жрет меньше оперативки, чем стандартные функции, во-вторых, проще перекодировать в utf8, и в-третьих, стандартные функции вроде как не видят конец файла.
(Offline)
 
Ответить с цитированием
Старый 13.11.2011, 11:53   #9
bormotan
Оператор ЭВМ
 
Регистрация: 12.10.2011
Адрес: Воронеж
Сообщений: 46
Написано 2 полезных сообщений
(для 2 пользователей)
Ответ: Работа музыки и ресурсных файлов

Сообщение от PassCall Посмотреть сообщение
1. Всегда писать в конце ресурса (дополнительно) пустую строчку, иначе при прочтении виснет.
[/php]
спасибо , помогло . а вот русские символы ни твоя идея ни AVL , у меня не заработали . как были кракозябры , так и остались , только другие кракозябры
(Offline)
 
Ответить с цитированием
Старый 13.11.2011, 14:09   #10
AVL
Разработчик
 
Регистрация: 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
PassCall
Разработчик
 
Аватар для PassCall
 
Регистрация: 07.04.2011
Адрес: Млечный путь, Земля, Европа, Беларусь, Могилев
Сообщений: 391
Написано 94 полезных сообщений
(для 319 пользователей)
Ответ: Работа музыки и ресурсных файлов

Сообщение от bormotan Посмотреть сообщение
спасибо , помогло . а вот русские символы ни твоя идея ни AVL , у меня не заработали . как были кракозябры , так и остались , только другие кракозябры
А какая у тебя версия МидлетПаскаля?
__________________
Мечта программиста: запрограммировать процесс программирования.

Всё гениальное - просто.

http://passcall.ucoz.com
(Offline)
 
Ответить с цитированием
Старый 13.11.2011, 20:48   #12
bormotan
Оператор ЭВМ
 
Регистрация: 12.10.2011
Адрес: Воронеж
Сообщений: 46
Написано 2 полезных сообщений
(для 2 пользователей)
Ответ: Работа музыки и ресурсных файлов

Работаю с 2.01 , но есть 3.4 , в удобстве которого я пока не уверился
AVL , не знаю какую версию библиотеки реслодер используешь ты ( коих тут около двух-трех ) , но снова не работает
надеюсь , мне не придется писать свою версию библиотеки , в которой я всю понимаю и знаю что к чему ((
(Offline)
 
Ответить с цитированием
Старый 16.11.2011, 12:13   #13
bormotan
Оператор ЭВМ
 
Регистрация: 12.10.2011
Адрес: Воронеж
Сообщений: 46
Написано 2 полезных сообщений
(для 2 пользователей)
Ответ: Работа музыки и ресурсных файлов

придется экспериментировать с файлами и кодировками . хотя это титанически неудобно . а насчет музыки никто ничего полезного не скажет ??????
(Offline)
 
Ответить с цитированием
Старый 17.11.2011, 11:34   #14
PassCall
Разработчик
 
Аватар для PassCall
 
Регистрация: 07.04.2011
Адрес: Млечный путь, Земля, Европа, Беларусь, Могилев
Сообщений: 391
Написано 94 полезных сообщений
(для 319 пользователей)
Ответ: Работа музыки и ресурсных файлов

Сообщение от bormotan Посмотреть сообщение
а насчет музыки никто ничего полезного не скажет ??????
Установи что нибудь вроде Sound Forge (для работы со звуком) и поэксперементируй с кодеками. Один два должны работать. А фишка в том что на самом мобильном через плеер любой формат производится а через j2me нефига.
__________________
Мечта программиста: запрограммировать процесс программирования.

Всё гениальное - просто.

http://passcall.ucoz.com
(Offline)
 
Ответить с цитированием
Старый 27.11.2011, 12:03   #15
bormotan
Оператор ЭВМ
 
Регистрация: 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)
 
Ответить с цитированием
Ответ


Опции темы

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


Часовой пояс GMT +4, время: 04:35.


vBulletin® Version 3.6.5.
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Перевод: zCarot
Style crйe par Allan - vBulletin-Ressources.com