forum.boolean.name

forum.boolean.name (http://forum.boolean.name/index.php)
-   FAQ (http://forum.boolean.name/forumdisplay.php?f=48)
-   -   вопросы по работе со звуком (http://forum.boolean.name/showthread.php?t=13252)

dmitriy-dim 30.08.2010 17:47

вопросы по работе со звуком
 
у меня:
mp 2.2
и эмулятор midpx.
я пытаюсь в программе поочередно проигрывать файлы:
wav, mid и mp3.
первые два типа в эмуляторе проигрываются, а mp3 просто завершает программу.
на телефоне программа закрывает окошко не произведя ни звука, хотя версия midp 2.0.
посоветуйте, пожалуйста, что делать?
Спасибо всем отозвавшимся!

cHeRsAnYa 30.08.2010 17:56

Ответ: вопросы по работе со звуком
 
А какой телефон то?

dmitriy-dim 30.08.2010 18:52

Ответ: вопросы по работе со звуком
 
модель телефона: sony ericsson k320i
Извините, если что-то напутал.

ViNT 30.08.2010 19:00

Ответ: вопросы по работе со звуком
 
Такое возможно, если неправильно прописано имя файла, а именно - не соблюден регистр символов. Некоторым эмуляторам на это наплевать, а вот для телефона критично.

dmitriy-dim 30.08.2010 22:40

Ответ: вопросы по работе со звуком
 
у меня в программе и на диске имена файлов написаны маленькими латинскими буквами.
лучше будет писать имена файлов и расширений на диске и впрограмме большими буквами?
или имена звуковых файлов сделать цифровыми и обойтись без расширений?
ведь в функции openplayer мы все равно указывает тип файла вторым параметром?
в jad-файле последней строками значится:
MicroEdition-Configuration: CLDC-1.0
MicroEdition-Profile: MIDP-1.0
а в справочнике по функциям оговаривается, что функции со звуком доступны не ниже midp 2.0.
может у меня в MP что-либо не настроено?

ViNT 30.08.2010 23:06

Ответ: вопросы по работе со звуком
 
Имена могут быть любыми, лишь бы регистр совпадал, т.е., если имя файла 'sound.mp3', то в коде должно быть точно так же, а не 'Sound.mp3', 'sound.MP3' и т.д. Скорее всего, дело в профиле MIDP. Нужно в конфигурации сборки указать MIDP version: MIDP2.0

cHeRsAnYa 31.08.2010 00:37

Ответ: вопросы по работе со звуком
 
Если не поможет, выложи сюда программу - посмотрим.

dmitriy-dim 31.08.2010 09:40

Ответ: вопросы по работе со звуком
 
подскажите, пожалуйста, где устанавливается конфигурация сборки?
при создании нового проекта предлагается:
"default midp class".
и я этот параметр менять не могу, так как он единственный в списке.
а в разделе "configuration / program options" ничего похожего найти не удалось.
может режим сборки можно менять при помощи директив?
это было бы очень удобно.

Bananbl4 31.08.2010 10:03

Ответ: вопросы по работе со звуком
 
Где-где... в левом (стандартно) сайдбаре, вкладка properties (как-то так, не помню) там в менюшке выбирать версию MIDP, CLDC и тип мидлета (обычный, MIDP 2.0 фулскрин, Nokia API фулскрин)
Ах да. Это всё про 2.02 англ. (другие не юзал)

dmitriy-dim 02.09.2010 13:13

Ответ: вопросы по работе со звуком
 
конфигурацию сборки я нашел и установил "midp-2",тип мидлета: классический (я его менять не стал).
midi-файлы стали проигрываться на телефоне.
wav-файлы в эмуляторе проигрываются а в телефоне в этом месте программа выбрасывается.
mp3-файлы даже на эмуляторе не идут.
хотя их открытие происходит: когда в ресурсах присутствует слишком большой mp3-файл, то эмулятор жалуется на недостаточное количество heap-памяти.
вряд ли что-либо в коде программы, но, на всякий случай, прилагаю.
пожалуйста, помогите разобраться!

program NewProject;

function getplay1wav(afilename : string) : boolean;

{проигрывание wav-файла}

begin

getplay1wav:=false;

if not openplayer('/'+afilename+'.wav','audio/x-wav') then halt;

if not setplayercount(1) then halt;

if not startplayer then halt;

delay(getplayerduration);

stopplayer;

getplay1wav:=true;

end;



begin

{if not getplay1wav('exit') then halt;}

drawText('Hello world!', 0, 0);

repaint;

delay(2000);

if not openplayer('/1.mid','audio/midi') then halt;

if not setplayercount(1) then halt;

if not startplayer then halt;

delay(5000);

stopplayer;

delay(1000);

if not openplayer('1.mid','audio/midi') then halt;

if not setplayercount(1) then halt;

if not startplayer then halt;

delay(10000);

stopplayer;

if not getplay1wav('exit') then halt;

if not openplayer('/1.mp3','audio/mpeg') then halt;

if not setplayercount(1) then halt;

if not startplayer then halt;

repeat

delay(100);

until getkeypressed = ke_star;

stopplayer;

if not getplay1wav('EXIT') then halt;

end.

содержимое mpprog-файла проекта:

<Project>
<MIDlet Name="NewProject" Vendor="MIDletPascal" Version="1.0.0" Icon="/icon.png"/>
<Sources>
<source filename="NewProject.mpsrc"/>
</Sources>
<Resources>
<resource filename="icon.png" configurations=":all:"/>
<resource filename="exit.wav" configurations=":all:"/>
<resource filename="1.mid" configurations=":all:"/>
<resource filename="1.mp3" configurations=":all:"/>
</Resources>
<BuildConfigurations>
<configuration name="Default" type="normal" version="2" math="1"/>
<ActiveConfiguration index="0"/> </BuildConfigurations>
</Project>

содержимое jad-файла:

MIDlet-1: NewProject, /icon.png, FW
MIDlet-Jar-Size: 26259
MIDlet-Jar-URL: NewProject.jar
MIDlet-Name: NewProject
MIDlet-Vendor: MIDletPascal
MIDlet-Icon: /icon.png
MIDlet-Version: 1.0.0
MicroEdition-Configuration: CLDC-1.0
MicroEdition-Profile: MIDP-2.0

ViNT 02.09.2010 13:42

Ответ: вопросы по работе со звуком
 
На сколько я помню, кто-то жаловался на некорректную работу SetPlayerCount. Можно попробовать его убрать. Так, вроде бы, все должно работать.

dmitriy-dim 02.09.2010 23:45

Ответ: вопросы по работе со звуком
 
Слава БОГУ!!! зазвучали mp3-файлы в телефоне!
Спасибо всем!!!
существует ли наиболее предпочтительный для телефонов битрейт mp3-файлов? такой, который наиболее гарантировано пойдет на основной массе телефонов для Midp-2.0?
ещё раз, спасибо всем!

dmitriy-dim 03.09.2010 11:21

Ответ: вопросы по работе со звуком
 
1. подскажите, пожалуйста, в чем может быть причина того, что mp3-файлы не проигрываются на эмуляторе midpx?
2. в русскоязычном справочнике по функциям MP сказано, что не все телефоны могут одновременно поддерживать возможность проигрывания файлов midi, wav и mp3.
я скопировал на "sony ericsson k320i" два wav-файла с различными характеристиками (частота, моно/стерео) и попытался их проиграть через диспетчер файлов телефон выдал сообщение о невозможности проигрывания таких файлов. где бы можно было получить точную информацию по данному вопросу?
3. в связи с первыми двумя вопросами: ситуация, конечно, не критична. можно проект отлаживать на wav-файлах под эмулятором, а завершающую версию выполнять для mp3 (при помощи каких-нибудь собственных процедур или функций это не так уж и сложно).
что бы вы могли в этом случае посоветовать?
спасибо!

ViNT 03.09.2010 20:22

Ответ: вопросы по работе со звуком
 
Можно создать две конфигурации - для mp3 и для wav. Соответственно, привязать необходимые ресурсы и код к конфигурациям (чтобы в зависимости от выбранной конфигурации в ресурсы добавлялись mp3 или wav файлы, и генерился соответствующий код).

А вообще - лучше эмулятор сменить. Midpx настолько ущербный, что подходит, разьве что, для того, чтобы посмотреть, что представляет собой скачанная игра, не заливая ее в мобилу. Для отладки программ он, ИМХО, совсем не подходит. Лучше поставить WTK и не будет никаких проблем. Там и ФС нормально эмулируется, и все распространенные типы файлов держит.

dmitriy-dim 06.09.2010 13:30

Ответ: вопросы по работе со звуком
 
спасибо за рекомендации!
1. я откомпелировал программу, использующую звуковые функции, в режимах midp-1.0 и midp-2.0.
полученные jar-файлы имеют одинаковую длину и нормально исполняются на телефоне.
объясните, пожалуйста, какое влияние этот параметр оказывает на выходные файлы.
2. простите, что вопрос не по теме: можно ли сделать так, чтобы сводка результатов компиляции сбрасывалась в текстовый файл?


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

vBulletin® Version 3.6.5.
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Перевод: zCarot