Консультация № 54336
04.09.2006, 22:44
0.00 руб.
0 2 2
Помогите пожалуйста! Я пишу небольшой проигрыватель музыки. Но хотелось бы не только останавливаться на одних только mp3, wav, midi-файлах. Хочется, чтобы моя программа понимала ogg и mp4-музыку.
Также очень хочется научиться извлекать информацию о звуковых файлах. Я скачивал статьи, но под заголовком ‘Извлечение информации о звуковых файлах‘ в разделах о звуке скрывалось извлечение информации из видео-файлов. Тупо! Хотя бы научиться битрейт узнавать.
Ещё при заготовке программы я столкнулся с небольшим глюком(что-то походее есть в WinAmp): когда извлекаешь длину трека, высвечивается запредельное время звучания(30-40 минут). У меня такое было с mp3-файлами, кодированными в Nero с переменным битрейтом и лучшим качеством. Однако в WinAmp каким-то образом в главном окне, где скачет информация о проигрываемом файле, время отображается правильное.
Помогите, кто чем сможет.

Обсуждение

давно
Мастер-Эксперт
425
4118
05.09.2006, 07:05
общий
это ответ
Здравствуйте, /|orpyc!
К сожалению, Вам нечего посоветовать, кроме как того, что Вы уже делаете.
1. Поставьте декодеры на нужные Вам типы файлов в систему.
2. Скачайте из интернета описание выбранного Вами типа файла. У всех из них есть поля со служебной информацией, вот на нее и опирайтесь.
*************
Я к сожалению не знаю, как WinAmp определяет правильное время звучания. Вполне возможно, что трек с переменным битрейтом разделен на некоторое кол-во секций, какждая со своим фиксированным битрейтом. Найдите эти секции по полю служебной информации файла, и рассчитайте время звучания для каждой секции отдельно, а потом просуммируйте.
За информацией пожалуйста к документации по формату mp3, здесь ее писать никто не будет.
Об авторе:
Я только в одном глубоко убеждён - не надо иметь убеждений! :)
Неизвестный
05.09.2006, 16:53
общий
это ответ
Здравствуйте, /|orpyc!
К сожалению вы не написали каким образом ваша программа проигрывает mp3 файлы... думаю что через DirectShow.
Для того чтобы заставить программу играть ogg файлы рекомендую заглянуть на http://www.xiph.org/downloads/. Там имеются ogg-кодеки. Ogg - открытый формат, но исходный код на Си. При большом желании можно переписать под Дельфи.
Форма ответа