Android AudioTrack类中的两个write函数怎么转换
public int write (byte[] audioData, int offsetInBytes, int sizeInBytes)public int write (short[] audioData, int offsetInShorts, int sizeInShorts)
我现在取得了一个short[]类型的数据,怎么用第一个函数播放?
myMP3Decoder.getAudioBuf(audioBuffer, mAudioMinBufSize); //audioBuffer是short[]类型
mAudioTrack.write(audioBuffer, 0, mAudioMinBufSize);
现需将第二个函数的第一个参数改成byte[]类型,应该怎么转换audioBuffer?
//直接这样转换后不能正常播放
byte[] mbyte = new byte[2*mAudioMinBufSize];
for(int j=0; j<mAudioMinBufSize; j++){
mbyte[j*2] = (byte)(audioBuffer[j]>>8);
mbyte[j*2+1] = (byte)(audioBuffer[j] & 0xff);
}
mAudioTrack.write(mbyte, 0, 2*mAudioMinBufSize); Android AudioTrack
补充:Java , Java相关