PCM Raw Bytes [] для аудио на Android

В настоящее время у меня есть звук PCM в виде байтового массива. Формат подписан 16-битным прямым порядком байтов. Я хотел бы преобразовать это в какой-нибудь воспроизводимый формат на Android, предпочтительно версию 3.2 или выше. У кого-нибудь есть предложения, как это можно сделать? Я провел некоторое исследование и попробовал следующее ниже, но ни одно не было успешным. Было бы очень признательно, если кто-нибудь может предложить лучший способ или указать, где я ошибся.

Я попытался создать AudioFormat с правильными настройками звука, однако Android не поддерживает библиотеку javax.sound.sampled.

Я также попытался записать данные PCM в волновой файл, но у меня возникли проблемы с получением всей необходимой информации заголовка wav.

Я также пытался использовать класс AudioTrack, предлагаемый Android, для воспроизведения данных PCM. Однако я не могу слышать ни звука. Вот мой метод:

    public void playback(){
         try{
              AudioTrack audioTrack = new  AudioTrack(AudioManager.STREAM_VOICE_CALL, 8000, AudioFormat.CHANNEL_CONFIGURATION_MONO, AudioFormat.ENCODING_PCM_16BIT, 500000, AudioTrack.MODE_STATIC);
              audioTrack.write(audio, 0, 500000);

      } catch(Throwable t){
        Log.d("Audio","Playback Failed");
    }
}

Мы ценим любые предложения.

Ответы на вопрос(2)

Ваш ответ на вопрос