转载:https://www.jianshu.com/p/963fea6e4a0d
新泾镇刀客关注
0.0342016.08.25 12:08:51字数 443阅读 5,068
在创建audiotrack中传入的采样率通道和audioFormat,会共同决定minBufferSize。同样会在getMinBufferSize()方法中check,源码API23.AudioTrack的构造函数中也会对相应参数校验,但这里只看getMinBufferSize()方法。
static public int getMinBufferSize(int sampleRateInHz, int channelConfig, int audioFormat) {
int channelCount = 0;
switch(channelConfig) {
case AudioFormat.CHANNEL_OUT_MONO:
case AudioFormat.CHANNEL_CONFIGURATION_MONO:
channelCount = 1;
break;
case AudioFormat.CHANNEL_OUT_STEREO:
case AudioFormat.CHANNEL_CONFIGURATION_STEREO:
channelCount = 2;
break;
default:
if (!isMultichannelConfigSupported(channelConfig)) {
loge("