本地音频合流
startLocalAudioMixer
开启本地音频合流。
C++
virtual int startLocalAudioMixer(const LocalAudioMixerConfiguration& config) = 0;
自从
v4.5.0
该方法支持在本地将多路音频流合并为一路音频流。例如:将本地麦克风采集的音频流、媒体播放器中的音频流、声卡采集的音频流、远端音频流等合并为一路音频流,然后将合流后的音频流发布到频道中。
- 如果你要对本地采集的音频流进行合流,可以将 ChannelMediaOptions 中的 publishMixedAudioTrack 设置为
true
,则可将合流后的音频流发布到频道中。 - 如果你要对远端音频流进行合流,需确保远端音频流已在频道内发布并且已被订阅。
适用场景
你可以在如下场景中开启该功能:
- 结合本地合图功能一起使用,可将合图视频流相关的音频流同步采集和发布。
- 在直播场景下,用户接收频道内的音频流,在本地进行多路音频流合流后转发到其他频道。
- 在教育场景下,老师可将跟学生连麦互动的音频在本地进行合流,然后将合并的音频流转发到其他频道。
调用时机
该方法在加入频道前后均可调用。
调用限制
为了保证音频质量,建议参与本地合流的音频流数量不超过 10 个。
参数
- config
- 本地音频合流的配置。详见 LocalAudioMixerConfiguration。
返回值
- 0: 方法调用成功。
- < 0: 方法调用失败。详见错误码了解详情和解决建议。
- -7:IRtcEngine 对象尚未初始化。你需要在调用该方法前成功初始化 IRtcEngine 对象。
stopLocalAudioMixer
停止本地音频合流。
C++
virtual int stopLocalAudioMixer() = 0;
自从
v4.5.0
调用 startLocalAudioMixer 后,如果你希望停止本地音频合流,请调用该方法。
调用时机
该方法需要在 startLocalAudioMixer 之后调用。
调用限制
无。
返回值
- 0: 方法调用成功。
- < 0: 方法调用失败。详见错误码了解详情和解决建议。
- -7:IRtcEngine 对象尚未初始化。你需要在调用该方法前成功初始化 IRtcEngine 对象。
updateLocalAudioMixerConfiguration
更新本地音频合流的配置。
C++
virtual int updateLocalAudioMixerConfiguration(const LocalAudioMixerConfiguration& config) = 0;
自从
v4.5.0
调用 startLocalAudioMixer 后,如果你希望更新本地音频合流的配置,请调用该方法。
调用时机
该方法需要在 startLocalAudioMixer 之后调用。
调用限制
为了保证音频质量,建议参与本地合流的音频流数量不超过 10 个。
参数
- config
- 本地音频合流的配置。详见 LocalAudioMixerConfiguration。
返回值
- 0: 方法调用成功。
- < 0: 方法调用失败。详见错误码了解详情和解决建议。
- -7:IRtcEngine 对象尚未初始化。你需要在调用该方法前成功初始化 IRtcEngine 对象。