2014-02-11 3 views
0

Итак, у меня есть приложение, в котором mp3-файл воспроизводится классом MediaPlayer. На большинстве устройств все в порядке, но на моделях Samsung и других, таких как HTC One S, тот же самый mp3 играет слишком быстро. Похоже, что он неправильно обрабатывает звуковые «пробелы»/тишину. Воспроизведение mp3 - это речь, и, естественно, у нее молчание между произносимыми словами. И это молчание не воспроизводится правильно с точки зрения времени. Что может быть причиной и решением для этого?
UPDATE
Я нашел, что его частота + VBR. Так или иначе, если mp3 содержит 22050/24000/32000 Гц вместо 44100 или 48000, и используется VBR или ABR, проблема поднимается. Я использую LAME для кодирования mp3. Если я удалю вариант «--resample 22.05», поэтому полученный mp3 станет 44.1 кГц, нет никакой проблемы с воспроизведением этого mp3 на телефоне samsung. Однако результирующий размер mp3 становится вдвое большим, что неприемлемо для меня, потому что в этом случае мой apk становится больше 50 Мб.
Итак, теперь вопрос заключается в том, как правильно сжимать mp3 как 22 кГц/VBR/MONO.Проблема с MediaPlayer - слишком быстро воспроизводит MP3 (пропускает закодированную тишину)

+0

Вам нужно конкретно зафиксировать проблему и точно определить, что вы подразумеваете под «слишком быстрым». –

ответ

0

Проблема была устранена следующим образом: я добавил белый шум к исходному звуку, а затем закодировал его в формате MP3. Результирующие файлы стали больше по размеру, но также стали более совместимыми (с устройствами Samsung)
Оригинальный аудиофайл (сделанный в студии звукозаписи) слишком чист, что молчание/пауза в речи (между выраженными словами) не имеет формы сигнала, если смотреть в звук редактор, это как идеальная тишина. Так что на разных устройствах Samsung такие MP3-кодированные файлы играли с описанной проблемой. Однако на большинстве других устройств и ПК такие MP3-файлы воспроизводились просто отлично. Еще раз - Samsung «правила»!

-1

Вам необходимо, чтобы Google наш контролировал скорость воспроизведения в вашем приложении, я хочу сказать, что должна быть какая-то переменная «скорость воспроизведения», которая должна быть значением с плавающей запятой между 0 и 1. Это может помочь вам в некоторые обходные пути для вашего приложения надеются, что вы найдете это в некоторой степени полезным в любом случае. О, кстати здесь некоторые полезные ссылки, которые могут помочь вам, как хорошо, и если нет, то мы должны держать в очереди ожидания для Samsung ;-), если его непосредственно связанные с ними счастливым кодирования

http://code.google.com/p/android/issues/detail?id=1961

play an mp3 with MediaPlayer class on Android issues

С уважением Anas.

Смежные вопросы