bool AudioMixer::isMultichannelCapable = false;//是否支持大于两路的音频
//downmix effect,用于处理大于两路音频的特效,主要是做向下变换
effect_descriptor_t AudioMixer::dwnmFxDesc;
// Ensure mConfiguredNames bitmask is initialized properly on all architectures.
// The value of 1 << x is undefined in C when x >= 32.
// 1、初始化state_t对象mState,最多保存32个track,对应thread中的track对象
// 2、加载支持的effect lib和effect
// 3、通过类型EFFECT_UIID_DOWNMIX寻找处理多路音频特效的downmix effect对象
AudioMixer::AudioMixer(size_t frameCount, uint32_t sampleRate, uint32_t maxNumTracks)
: mTrackNames(0), mConfiguredNames((maxNumTracks >= 32 ? 0 : 1 << maxNumTracks) - 1),
mSampleRate(sampleRate)
{
// AudioMixer is not yet capable of multi-channel beyond stereo
COMPILE_TIME_ASSERT_FUNCTION_SCOPE(2 == MAX_NUM_CHANNELS);
ALOG_ASSERT(maxNumTracks <= MAX_NUM_TRACKS, "maxNumTracks %u > MAX_NUM_TRACKS %u",
maxNumTra
Audio笔记之AudioMixer
最新推荐文章于 2023-04-12 18:56:19 发布