截取音频头信息

  当音频被各种引擎转化后,会存在有转化后音频缺少音频头信息,导致无法播放这种现象。如何截取音频头信息?音频的头部信息存放在音频流byte[]的前44个字节中。

所以我们可以直接获取原始音频流后直接截取其中44个字节,存放起来。然后对转化后的音频流进行拼接合成能够播放的音频,代码如下

byte[] headInfo = new byte[44];
System.arraycopy(sourceBytes, 0, headInfo, 0, 44);

获取转化后的音频流后进行追加
public static byte[] mergeBytes(byte[] data1, byte[] data2) {
byte[] data3 = new byte[data1.length + data2.length];
System.arraycopy(data1, 0, data3, 0, data1.length);
System.arraycopy(data2, 0, data3, data1.length, data2.length);
return data3;
}



posted @ 2021-03-29 10:19  飘若逸  阅读(154)  评论(0)    收藏  举报