小编Jac*_*ano的帖子

PCM Raw Bytes []到Android上的音频

我目前有一个字节数组形式的PCM音频.格式是16位小端的签名.我想将它转换为Android上的一些可播放格式,最好是版本3.2或更高版本.有人建议如何做到这一点?我做了一些研究并尝试了下面的内容,但都没有成功.如果有人能提出更好的方法或指出我出错的地方,我们将不胜感激.

我尝试使用正确的音频设置创建AudioFormat,但Android不支持javax.sound.sampled库.

我也尝试将PCM数据写入wave文件,但是我遇到了所有必要的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");
    }
}
Run Code Online (Sandbox Code Playgroud)

任何建议,将不胜感激.

audio android bytearray pcm audiotrack

20
推荐指数
2
解决办法
3万
查看次数

标签 统计

android ×1

audio ×1

audiotrack ×1

bytearray ×1

pcm ×1