Я разрабатываю приложение для 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, поэтому любая помощь будет принята с благодарностью!
Похоже, решение этого - Android SoundPool. Сохраняя байт [] wav на SD-карте и используя SoundPool для воспроизведения, все работало нормально.