forum.boolean.name

forum.boolean.name (http://forum.boolean.name/index.php)
-   Библиотеки (http://forum.boolean.name/forumdisplay.php?f=124)
-   -   Библиотека для проигрывания звука (http://forum.boolean.name/showthread.php?t=3311)

Piligrim 15.09.2009 00:03

Ответ: Библиотека для проигрывания звука
 
В библиотеке player есть все чтобы следить за событиями плеера :)
Похоже пора браться за базу данных. Уже сами не знаем, чему научили МР

vad74 15.09.2009 11:04

Ответ: Библиотека для проигрывания звука
 
pilgrim
Библиотека player играет файлы только из ресурса самой программы, или может играть файлы и с флешки телефона? Т.е. можно использовать её и Lib_mmapi вместе?

Piligrim 15.09.2009 15:49

Ответ: Библиотека для проигрывания звука
 
Их там две версии. Использовать надо Lib_mmapi(std_player).zip

vad74 15.09.2009 16:45

Ответ: Библиотека для проигрывания звука
 
Как я писал выше обе либы из Lib_mmapi(std_player).zip у меня не заработали. Использую Lib_mmapi и сделал контроль по таймеру. Ведь всё равно "термометр" проигрывания рисовать надо.

Piligrim 16.09.2009 00:04

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

vad74 16.09.2009 12:33

Ответ: Библиотека для проигрывания звука
 
А вот это стоящая мысль! Дествительно, при использовании функций библиотек я вызываю их с именем: "библа.функц" . Поэтому не было прямых вызовов стандартного плеера.
Для понимания принципов работы, объясните мне что значит "стандартный плеер". Я понимаю так, в мобиле есть движок умеющий играть файл МР3. Прога на яве должна лишь вызывать его и давать ему адрес файла, и движок мобилы начинает играть. Lib_mmapi не является стандартным плеером, это значит что она содержит свой движок проигрывания МР3?

Cliffe Snake 16.09.2009 15:29

Ответ: Библиотека для проигрывания звука
 
Vad74, под стандартным плеером здесь понимаются функции для проигрывания звука, которые уже содержатся в МП. Вот они:
PHP код:

function OpenPlayer(resource:stringmimetype:string):boolean
function 
GetPlayerDuration:integer
function 
SetPlayerCount(loopCount:integer):boolean
function 
StartPlayer:boolean
procedure StopPlayer


vad74 16.09.2009 17:33

Ответ: Библиотека для проигрывания звука
 
Кажется ситуация прояснилась. Значит для использования Lib_mmapi(std_player).zip я должен открывать файл через audiojsr75.loadfile(), а далее управлять как обычным плееером (напр StartPlayer). Просто я раз уж подключил внешнию библу то и вызовы пытался делать через него - audiojsr75.play. A стандартные функции не использовал.
А есть ли разница между вызовами StartPlayer и audiojsr75.play? И StopPlayer соответствует audiojsr75.pause или audiojsr75.destroy?

ViNT 16.09.2009 19:31

Ответ: Библиотека для проигрывания звука
 
Между StartPlayer и audiojsr75.play разницы нет, audiojsr75.pause только останавливает плеер (как StopPlayer), а audiojsr75.destroy полностью закрывает плеер, после чего для его запуска нужно снова открыть файл.

Trazzy 18.09.2009 00:44

Ответ: Библиотека для проигрывания звука
 
Значит вот где собака зарылась.. а я то думал..

MoteX 22.10.2009 09:54

Ответ: Библиотека для проигрывания звука
 
пишу loadfilefs('e:/mp3/'+tn ,'audio/mpeg',50); меня компиль шлет в известном направлении...как написать?использую jsr75

Sk.MaCh 22.10.2009 20:54

Ответ: Библиотека для проигрывания звука
 
Цитата:

Сообщение от MoteX (Сообщение 122150)
пишу loadfilefs('e:/mp3/'+tn ,'audio/mpeg',50); меня компиль шлет в известном направлении...как написать?использую jsr75

нужно приравнять к переменной integer, к примеру: k:=loadfile('/e:/music.mp3','audio/mpeg',100) и все заработает) скачай исходник в 1м посте, там все с описанием)

MoteX 25.10.2009 11:12

Ответ: Библиотека для проигрывания звука
 
Большое спасибо:)

vad74 11.01.2010 11:53

Ответ: Библиотека для проигрывания звука
 
ViNT
Удалось мне запустить в работу audiojsr75 из Lib_mmapi(std_player). Для этого пришлось добавить в проект модуль P.class, как советовали на другом сайте по MidletPascal. И всё заработало. http://forum.boolean.name/showthread...972#post132972
Обнаружил разницу в работе. mmapi выдаёт длительность и позицию в милисекундах, а audiojsr75 в микросекундах. Зачем такая точность?

ViNT 11.01.2010 15:23

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

На счет микро- и миллисекунд: переделал на микросекунды поскольку j2me изначально возвращает в микросекундах, что приводило к путанице (сам изначально неправильно прочитал, и думал, что значение идет сразу в миллисекундах). В общем, просто решил привести все к стандарту j2me, чтобы не было путаницы.


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

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