Android-приложение не воспроизводит WAV с кодировкой GSM 6.10?

1

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

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

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

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

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

Теги:
audio
wav

1 ответ

0
Лучший ответ

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

  • 0
    Можете ли вы опубликовать пример? У меня сейчас та же проблема. Я сохраняю байтовый буфер файла .wav, но ни MediaPlayer, ни SoundPool не хотят его загружать!

Ещё вопросы

Сообщество Overcoder
Наверх
Меню