从Android Marshmallow开始,AudioTrack官方已经弃用了使用streamType的方法,官方建议使用setAudioAttributes()方法来设置音频属性。以下是一个示例:
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {
AudioAttributes audioAttributes = new AudioAttributes.Builder()
.setUsage(AudioAttributes.USAGE_MEDIA)
.setContentType(AudioAttributes.CONTENT_TYPE_MUSIC)
.build();
AudioTrack audioTrack = new AudioTrack.Builder()
.setAudioAttributes(audioAttributes)
.setAudioFormat(audioFormat)
.setBufferSizeInBytes(minBufferSize)
.build();
} else {
AudioTrack audioTrack = new AudioTrack(AudioManager.STREAM_MUSIC,
sampleRate, channelConfig, audioFormat, minBufferSize,
AudioTrack.MODE_STREAM);
}
您将设置音频属性,然后使用AudioTrack.Builder()方法创建音轨,或者在旧版本的Android上使用旧方法创建音轨。