我目前有一個字節數組形式的PCM音頻。格式有16位小尾數。我想將其轉換爲Android上的某些可播放格式,最好是3.2或更高版本。有沒有人有如何做到這一點的建議?我已經做了一些研究並嘗試了以下內容,但沒有一個成功。如果有人能提出更好的方法或指出我出錯的地方,我們將非常感激。PCM原始字節[]在Android上的音頻
我已嘗試使用正確的音頻設置創建AudioFormat,但Android不支持javax.sound.sampled庫。
我也嘗試將PCM數據寫入波形文件,但我遇到了麻煩獲取所有必要的wav標題信息。
我也嘗試過使用Android提供的AudioTrack類來播放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");
}
}
任何意見,將不勝感激。
已更新我的回答 –