Android-приложение не воспроизводит WAV с кодировкой GSM 6.10? - PullRequest
1 голос
/ 05 июля 2011

Я разрабатываю приложение для Android, которое получает байтовый массив, который представляет собой сжатый файл WAV в формате GSM 6.10. Вот что я пробовал:

Воспроизведение с помощью AudioTrack не работает, поскольку AudioTrack не поддерживает сжатые файлы формата GSM 6.10.

Сохранение байта [] и использование MediaPlayer для его воспроизведения не сработало. Это только что произвело статическое.

Последняя идея, которую я попробовал, не работает для этого приложения, но была всего лишь попыткой выяснить, в чем проблема. Перед запуском приложения я сохранил wav на SD-карту. Затем я попытался воспроизвести этот уже сохраненный файл с помощью MediaPlayer. Это сработало. Затем я попытался прочитать этот же сохраненный файл в приложении, а затем снова сохранить его на SD-карту с другим именем (например, tempFile.wav). Когда я попытался воспроизвести новый сохраненный файл, все, что я получил, было статичным. Это приводит меня к мысли, что проблема может заключаться в сохранении байта [] в формате .wav.

Итак, мне нужно либо преобразовать сжатый wav-файл GSM 6.10 в PCM, либо правильно сохранить его как wav на устройстве. Я новичок в разработке Android, поэтому любая помощь будет принята с благодарностью!

1 Ответ

0 голосов
/ 07 июля 2011

Похоже, решением этой проблемы является Android SoundPool. Сохраняя byte [] wav на карту SD и используя SoundPool для воспроизведения, все работало нормально.

...