Page 1 of 3

minimp3

Posted: Sat Feb 09, 2013 9:50 pm
by SoUrcerer
Безоконный mp3-плеер, выводит информацию на доску отладки. Имена и пути с пробелами нужно заключать в кавычки.
Работает еще не оптимально. Потенциально он может превратиться в очень клевый mp3-плеер с поддержкой скинов и плейлистов, а его mp3-декодер (из ffmpeg, кстати) можно оформить как obj-библиотеку (и использовать в любой программе).
Отличительная особенность плеера - весь файл до декодирования загружается в память. После начала воспроизведения файл можно даже удалить :3 Это скорее фича, чем баг. При таком использовании не происходит проблем с одновременным чтением жестких дисков и воспроизведением аудио.

Напоминаю, использование программы:
minimp3 "/путь/к/файлу/фа йл.mp3"

Re: minimp3

Posted: Sat Feb 09, 2013 10:40 pm
by hidnplayr
The library as a .obj file, it would be very neat.
Then we can create the music player with a FASM front end :)

Re: minimp3

Posted: Sat Feb 09, 2013 10:49 pm
by SoUrcerer
Yep, that's right, I thought about that too.

Re: minimp3

Posted: Sun Feb 10, 2013 1:06 am
by Leency
If you'll make a library, I'll write a GUI for it.

Re: minimp3

Posted: Sun Feb 10, 2013 2:01 pm
by hidnplayr
I am curious about the internet radio, would it be possible with the functions MP3 library exports?

Re: minimp3

Posted: Sun Feb 10, 2013 3:46 pm
by SoUrcerer
Yes. No problem with Internet radio. As for now, mp3decode accepts stream of bytes; I can send 120-200 bytes to mp3decode to have 2-4 kb raw audio (to send it directly to Infinity sound system).

Re: minimp3

Posted: Sun Feb 10, 2013 4:51 pm
by hidnplayr
Interesting :)

Re: minimp3

Posted: Sun Feb 10, 2013 4:58 pm
by SoUrcerer
This evening I'll try to implement tiny libc for mp3 decoder, and make obj.

Re: minimp3

Posted: Mon Feb 11, 2013 11:05 pm
by 0CodErr
Попробовал — отлично работает!
Предлагаю теперь прикрутить к нему OpenDialog.
Имена и пути с пробелами нужно заключать в кавычки.
А он ещё какие-то параметры принимает?

Если делать к плееру GUI, то каким образом можно узнать и регулировать текущую позицию проигрывания?

И хотелось бы узнать о преимуществах этого плеера, ну вот, например, AC97snd и FPlay тоже могут проигрывать mp3(и не только), а также имеют GUI.

: Наверняка ещё много будет подобных программ без GUI. Хорошо бы если они при запуске без параметра выводили OpenDialog для выбора файлов. Если прикрутить его проблематично, может есть смысл добавить новую функциональность в OpenDialog, либо сделать как с FPlay( viewtopic.php?p=44812#p44812 ), только более универсально. Таким способом можно было бы запускать из меню, с рабочего стола или даже написать запускающий скрипт.

Re: minimp3

Posted: Mon Feb 11, 2013 11:50 pm
by Leency
Подождём Диму, а пока что скажу, что AC97snd у меня не выдаёт ни звука, в то время как minimp3 отлично работает. Также AC97snd использует свои библиотеки, а minimp3 ортодоксальную libc.
Что до FPlay, то он занимает 2 мб и не подходит для образа дискеты.

Re: minimp3

Posted: Tue Feb 12, 2013 6:31 am
by Freeman
0CodErr wrote: : Наверняка ещё много будет подобных программ без GUI. Хорошо бы если они при запуске без параметра выводили OpenDialog для выбора файлов.
Если программ без GUI действительно много планируется, лучше научить систему запускать OpenDialog для выбора файлов, расширив интерпретацию заголовка программы. Например, если в поле числа параметров стоит $FFFFFFFF, считать это признаком интерактивного запроса параметров и запускать OpenDialog.

Re: minimp3

Posted: Tue Feb 12, 2013 10:33 am
by SoUrcerer
Большинство консольных программ создают окно консоли. Для эмуляторов и программы просмотра pdf можно добавить окно OpenDialog. Если есть желающие - я помогу собрать программы из исходников, а затем и внести соответствующие правки. Что касается данной программы, то она - скорее демонстрация работы библиотеки minimp3, которая в ближайшем будущем должна стать отдельной и самостоятельной Колибри-библиотекой (т.е. линковаться динамически).
Регулировать текущую позицию должна программа, которая вызывает библиотеку. При декодировании начального фрейма возвращается некоторая информация о файле, в том числе, как я понимаю, и его длительность. При декодировании следующих фреймов по идее должна возвращаться текущая позиция.

Re: minimp3

Posted: Tue Feb 12, 2013 10:47 am
by Serge
SoUrcerer
Смотрелку pdf я возьму.

Re: minimp3

Posted: Tue Feb 12, 2013 11:06 am
by SoUrcerer
Serge, ответил в ЛС. Было бы здорово.

Re: minimp3

Posted: Tue Feb 12, 2013 12:55 pm
by Freeman
Serge wrote:А если программа запущена с командной строкой ?
Тогда не вызывать, ясное дело.