Skip to content

audioMixer

shixuemei edited this page Nov 21, 2017 · 2 revisions

混音简介

混音就是将不同来源的声音叠加成一路, 能够给观众侧更好的音效体验.

比如主播戴着耳机听音乐直播时, 使用mixer将背景音乐和主播声音混合后,观众才能同时听到音乐和主播的声音.

SDK中提供了UnionAudioMixer作为混音工具。

1.基本方法

  • 设置输出格式

    • 是否双声道
    @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;

1. 集成指南

2. 基本功能

2.1 采集

2.2 视频处理

2.3 音频处理

3. 开放接口定义

Clone this wiki locally