Библиотека для проигрывания звука
Вложений: 3
Библиотека позволяет воспроизводить файлы как из ФС (jsr75), так и с любого указанного URL.
Для открытия файлов из ФС служит функция loadfilefs, для открытия URL - loadfile. Пример использования в архиве. |
Re: Библиотека для проигрывания звука
Можно сколько угодно. А вот плэер только один может работать, по крайней мере на старых моторах, с MotoFS.
|
Re: Библиотека для проигрывания звука
А можно одновременно создать два плеера, создать для них входные потоки, а запускать по очереди?
|
Re: Библиотека для проигрывания звука
Да. Так можно. Имелось ввиду, что они не могут одновременно быть в состоянии prefetched, started.
|
Re: Библиотека для проигрывания звука
Пытался добавить проигрывание видео, но возникла проблема:
функции InitDisplayMode в качестве второго параметра нужно передать идентификатор canvas для вывода. В одном приложении , которое я смог декомпилировать, для этого используется (Object)(this), но This нельзя использовать в статических функциях. Что посоветуете? |
Re: Библиотека для проигрывания звука
посмотреть исходник моей библиотеки capture_lib :)
|
Re: Библиотека для проигрывания звука
Как ни странно, исходника в архиве я не нашел.
Правда я пытался обработать библиотеку декомпилятором, так она использует класс FW (это как я понял главный класс приложения?), описание которого мне не доступно. |
Re: Библиотека для проигрывания звука
хм... я мп3 плеер на мотор и без этого делал =) а на счёт громкости и длины... это уже интересно... =)
|
Re: Библиотека для проигрывания звука
Вложений: 2
Обновил библиотеку.
Вроде-бы добавил видео, но проверить не могу-мобила видео из жавы не тянет. Если кто проверит-напишите сюда о результатах. Кстати в описании не указал, что перед проигрыванием надо вызвать ShowForm |
Re: Библиотека для проигрывания звука
Так что там по поводу jsr-75?
|
Re: Библиотека для проигрывания звука
Вложений: 1
Вот библиотека для JSR75.
Правда, проверить не смог, так что если будут глюки-напишите. (В первом посте). |
Re: Библиотека для проигрывания звука
Протестил, глюков пока не обнаружено...
|
Re: Библиотека для проигрывания звука
Вложений: 1
Обновление библиотеки.
Теперь она работает со стандартным плеером, и можно использовать стандартные функции(возможно, можно использовать совместно с библиотекой Pilgrim'а). (В первом посте). |
Ответ: Библиотека для проигрывания звука
file:// это тоже URL, следовательно и
Код:
res:=loadfile('file:///root1/message.mid',50); |
Ответ: Библиотека для проигрывания звука
А можно в этой либе из архива игры звуковой файл открыть?
|
Ответ: Библиотека для проигрывания звука
mmapi(std_player) работает со стандартным плеером, так что, по идее, можно открыть ресурс стандартными функциями, вызвать функцию init из библиотеки и потом с её помощью можно управлять плеером. Правда, я это не проверял.
|
Библиотека для проигрывания звука
Предлагаю добавить следующие функцмм:
|
Ответ: Библиотека для проигрывания звука
Определение длины и позиции вроде и так есть.
|
Библиотека для проигрывания звука
А, все, понял. Надо было грузить версию std_player.
P.S. Может, переименуешь ее, а то трудно догадаться, что это новая. |
Библиотека для проигрывания звука
Что-то я не могу заставить ее воспроизводить звук - виснет намертво...
PHP код:
|
Ответ: Библиотека для проигрывания звука
мужики ано в пень мне ненадо я когдато пользовался но потом увидел что в Sony Ericsson оно и так есть!
|
Ответ: Библиотека для проигрывания звука
ViNT
ссылка на "Lib_mmapi(std_player).zip" выдаёт страницу с предупреждением о вирусе "infected with Email-Worm.Win32.Bagle.gen virus". Пожалуйста проверь и перезалей файл. А то плеер никак не могу скачать. |
Ответ: Библиотека для проигрывания звука
Вложений: 1
Цитата:
Какой браузер и антивирус? Удалил лишние бинарники, может в них дело. |
Ответ: Библиотека для проигрывания звука
ViNT
Спасибо. Вот теперь работает. Скачал. У меня стоит Касперский 6 с последними базами. Браузер Опера. При нажатии на ссылку ругался не Касперский в трее, а появлялась в Опере страница с предупреждением от Касперского (такого ранее никогда не видел). |
Ответ: Библиотека для проигрывания звука
ViNT
Поддержу m1kc - audiojsr75 виснет почему то. Брал его из Lib_mmapi(std_player).zip поста №23. Для отладки использую KEmulator. В корень его файловой системы накидал МР3шек. Краткий текст: Root := get_roots; // взять корень файловой системы parse.line(Root, '|'); // разбить его по папкам в массив Root := parse.get(0); // выделить корень. Root = 'root1/' i := audiojsr75.loadfile('/' + Root + 'music.mp3', 'audio/mpeg', 50); i := audiojsr75.play; виснет уже на loadfile. Файл есть, его видет get_files(Root). Попробовал использовать mmapi из архива Lib_mmapi.zip первого поста. Не виснет, но выдаёт результат обоих вызовов i = 0. i := mmapi.loadfile('/' + Root + 'music.mp3', 50); i := mmapi.play; Что можно ещё попробовать? |
Ответ: Библиотека для проигрывания звука
А на телефоне работает?(самому сейчас не на чем подебажить.)
Можно поэкспериментировать с количеством "/" в начале пути. |
Ответ: Библиотека для проигрывания звука
Да, пробовал на СониЭрикссон К800. Ведёт себя точно как в эмуляторе. mmapi - не играет. audiojsr75 - виснет при попытке загрузить файл. Можно ли проовать mmapi2, или это только для Моторолы?
Каким эмулятором с файловой системой Вы отлаживали эти библиотеки? И на каком телефоне испытывали? Правильно ли у меня написаны вызовы в посте выше? Может надо ещё делать вызовы других функций (init)? |
Ответ: Библиотека для проигрывания звука
Попробовал на эмуляторе mmapi2 виснет при попытке загрузить файл, как и audiojsr75. Затем поигрался с mmapi и "количеством "/" в начале пути". Заработало. Надо было писать: " 'file:///' + Dir + FileName". А я раньше посмотрел Ваш исходник mmapi2 на Яве. Там уже стояло 'file://' + FileName, вот это сбило с пути истиного. Теперь играет и Миди и МР3 в телефоне. KEmulator МР3 не заиграл, фиг с ним.
Вопрос в тему. Как можно отловить что песня закончила играть? Вопрос не в тему, но всё же задам. Я использую Тип мидлета - под старину. Канва моей программы в высоту не на весь экран (посередине), осталось место внизу, и в верху виден уровень заряда батареии (что и хочу). Подскажите как мне использовать пустое пространство внизу чтобы вывести подписи на софт клавиши и меню на них? Какие функции Паскаля или библиотеки? |
Ответ: Библиотека для проигрывания звука
Ещё раз спрошу. Использую библиотеку mmapi. Как можно отловить что песня закончила играть?
|
Ответ: Библиотека для проигрывания звука
Можно по таймеру сравнивать позицию с длиной файла.
|
Ответ: Библиотека для проигрывания звука
В библиотеке player есть все чтобы следить за событиями плеера :)
Похоже пора браться за базу данных. Уже сами не знаем, чему научили МР |
Ответ: Библиотека для проигрывания звука
pilgrim
Библиотека player играет файлы только из ресурса самой программы, или может играть файлы и с флешки телефона? Т.е. можно использовать её и Lib_mmapi вместе? |
Ответ: Библиотека для проигрывания звука
Их там две версии. Использовать надо Lib_mmapi(std_player).zip
|
Ответ: Библиотека для проигрывания звука
Как я писал выше обе либы из Lib_mmapi(std_player).zip у меня не заработали. Использую Lib_mmapi и сделал контроль по таймеру. Ведь всё равно "термометр" проигрывания рисовать надо.
|
Ответ: Библиотека для проигрывания звука
Могу назвать одну из причин. Все дело в том, что МР не добавляет класс стандартного плеера, если в программе не используются стандартные функции для работы с ним (хотя-бы одна, т.е. достаточно StopPlayer) и соответственно библиотеки его использующие виснут, вернее вылетают с ошибкой.
|
Ответ: Библиотека для проигрывания звука
А вот это стоящая мысль! Дествительно, при использовании функций библиотек я вызываю их с именем: "библа.функц" . Поэтому не было прямых вызовов стандартного плеера.
Для понимания принципов работы, объясните мне что значит "стандартный плеер". Я понимаю так, в мобиле есть движок умеющий играть файл МР3. Прога на яве должна лишь вызывать его и давать ему адрес файла, и движок мобилы начинает играть. Lib_mmapi не является стандартным плеером, это значит что она содержит свой движок проигрывания МР3? |
Ответ: Библиотека для проигрывания звука
Vad74, под стандартным плеером здесь понимаются функции для проигрывания звука, которые уже содержатся в МП. Вот они:
PHP код:
|
Ответ: Библиотека для проигрывания звука
Кажется ситуация прояснилась. Значит для использования Lib_mmapi(std_player).zip я должен открывать файл через audiojsr75.loadfile(), а далее управлять как обычным плееером (напр StartPlayer). Просто я раз уж подключил внешнию библу то и вызовы пытался делать через него - audiojsr75.play. A стандартные функции не использовал.
А есть ли разница между вызовами StartPlayer и audiojsr75.play? И StopPlayer соответствует audiojsr75.pause или audiojsr75.destroy? |
Ответ: Библиотека для проигрывания звука
Между StartPlayer и audiojsr75.play разницы нет, audiojsr75.pause только останавливает плеер (как StopPlayer), а audiojsr75.destroy полностью закрывает плеер, после чего для его запуска нужно снова открыть файл.
|
Ответ: Библиотека для проигрывания звука
Значит вот где собака зарылась.. а я то думал..
|
Ответ: Библиотека для проигрывания звука
пишу loadfilefs('e:/mp3/'+tn ,'audio/mpeg',50); меня компиль шлет в известном направлении...как написать?использую jsr75
|
Ответ: Библиотека для проигрывания звука
Цитата:
|
Ответ: Библиотека для проигрывания звука
Большое спасибо:)
|
Ответ: Библиотека для проигрывания звука
ViNT
Удалось мне запустить в работу audiojsr75 из Lib_mmapi(std_player). Для этого пришлось добавить в проект модуль P.class, как советовали на другом сайте по MidletPascal. И всё заработало. http://forum.boolean.name/showthread...972#post132972 Обнаружил разницу в работе. mmapi выдаёт длительность и позицию в милисекундах, а audiojsr75 в микросекундах. Зачем такая точность? |
Ответ: Библиотека для проигрывания звука
На счет добавления P.class - возможно забыл указать в описании, действительно, если не используются стандартные функции плеера, нужно добавлять этот класс вручную, иначе MP добавляет его сам.
На счет микро- и миллисекунд: переделал на микросекунды поскольку j2me изначально возвращает в микросекундах, что приводило к путанице (сам изначально неправильно прочитал, и думал, что значение идет сразу в миллисекундах). В общем, просто решил привести все к стандарту j2me, чтобы не было путаницы. |
Ответ: Библиотека для проигрывания звука
Попытался завести на нокиа, out of memory, большие файлы воспроизвести не получиться?
|
Ответ: Библиотека для проигрывания звука
Цитата:
Можно попробовать загрузить файл стандартной функцией MP (добавив file:// к пути). Дальше можно будет пользоваться другими функциями библиотеки. |
Ответ: Библиотека для проигрывания звука
Вложений: 1
Цитата:
|
Ответ: Библиотека для проигрывания звука
Цитата:
case можно заменить только конструкцией else if, других вариантов условных переходов в MP нет. |
Часовой пояс GMT +4, время: 03:09. |
vBulletin® Version 3.6.5.
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Перевод: zCarot