Вопросы и ответы

Неправильно работает перемотка mp3 с частотой, отличной от 44100 Гц

MP3-файлы 44 Кгц доигрываются до конца.
MP3-файлы 22 Кгц доигрываются до конца, но текущее время показывается неправильно. При длине файла 15:43 после его проигрывания индикатор плеера останавливается на середине шкалы, а время на плеере останавливается на 8:18.
MP3-файлы 48 Кгц до конца не доигрываются. Файл длиной 28:07 проигрывается до точки, соответствующей 25:50 и останавливается, при этом индикатор времени плеера показывает 28:07.

Это известная проблема последних версий Adobe Flash Player (появилась после 6-ой), которая заключается в неправильном определении длительности трека при частоте дискретизации, отличной от 44100 Гц. Об этом можно прочесть на официальном сайте Adobe в разделе багрепорта, касаемого Flash. В обсуждении присутствует предположение, что обработка mp3 позаимствована из Microsoft Visual Studio, так как этот же баг наблюдается и там. Этим же фактом, якобы, оправдывается затянувшаяся история с исправлением этой ошибки. В новой 10 версии, которая есть в публичной версии для тестирования проблема осталась, возможно в релизе ее исправят.

Программно определить частоту дискретизации mp3 во Flash нельзя, поэтому остается ждать, пока проблема решится. Пока рекомендуем использовать файлы с частотой 44 кГц, а другие частоты использовать для трансляции потоковых радиостанций, где нет привязки к длительности. Если это недопустимо — , мы что-нибудь придумаем.

Задать вопроc на форуме