-
Notifications
You must be signed in to change notification settings - Fork 6
audioMixer
shixuemei edited this page Nov 21, 2017
·
2 revisions
混音就是将不同来源的声音叠加成一路, 能够给观众侧更好的音效体验.
比如主播戴着耳机听音乐直播时, 使用mixer将背景音乐和主播声音混合后,观众才能同时听到音乐和主播的声音.
SDK中提供了UnionAudioMixer作为混音工具。
-
设置输出格式
- 是否双声道
@property(nonatomic, assign) BOOL bStereo;- 每一次输出数据(Frame)的sample数, 默认为1024
@property (nonatomic, assign) int frameSize;- 输出音频的采样率, 默认为44100
@property (nonatomic, assign) int sampleRate; -
送入待混音数据
- (BOOL)processAudioSampleBuffer:(CMSampleBufferRef)sampleBuffer
of:(int) trackId;
或者
- (BOOL)processAudioData:(uint8_t**)pData
nbSample:(int)len
withFormat:(const AudioStreamBasicDescription*)fmt
timeinfo:(CMTime)pts
of:(int) trackId;
- 获取混音后的数据
@property(nonatomic, copy) void(^audioProcessingCallback)(CMSampleBufferRef sampleBuffer);
或者
@property(nonatomic, copy) void(^pcmProcessingCallback)(uint8_t** pData, int nbSample, CMTime pts);
- 调节各轨道音量
- (BOOL) setMixVolume:(float)leftVolume rightVolume:(float)rightVolume
of:(int)trackId;