混音
从音频文件混音
- 
混音功能支持将用户自定义的音频数据、音频文件与本地麦克风采集的音频数据进行混合。支持的用户自定义音频文件或网络音源格式有:MP3、AAC、M4A、WAV。 
- 
加入房间并发布默认资源 ( RCRTCEngine.Publish()) 成功后,调用RCRTCEngine.StartAudioMixing方法使用指定的音频文件混音,退出房间前需要调用RCRTCEngine.StopAudioMixing结束混音。
提示
调用之前应用必须已经授予 <uses-permission android: name="android.permission.READ_EXTERNAL_STORAGE" /> 权限。
如果 Android 10 手机上授予了权限后也出现了混音失败,请参考知识库 为什么 Android 10 无法使用 startMix 进行混音?
- 
参数说明: 参数 类型 说明 path String 文件的绝对路径,如 
 Android:file:///android_asset/music.mp3
 iOS:file:////var/mobile/Containers/Data/Application/.../music.mp3mode RCRTCAudioMixerMode 混音模式 
 Mode.NONE: 不做任何操作
 MIX: 将音频文件的音频数据与麦克风采集的数据混音发送至对端
 REPLACE: 将麦克风采集的数据替换为音频文件的音频数据发送至对端playBack boolean 在调用该方法后是否播放音频文件 loopCount int loopCount > 0 : 循环混音 loopCount 次;loopCount = -1 : 无限循环;其他取值:混音一次 
- 
示例代码: C #String audioFile = "/sdcard/emulated/0/music.mp3";
 Engine.StartAudioMixing(audioFile, RCRTCAudioMixingMode.MIX, true, -1);
 // 调节混音音量(修改的是对端听到的声音音量)
 Engine.AdjustAudioMixingVolume(80);
 // 调节播放音量(修改的是本端听到的声音音量)
 Engine.AdjustAudioMixingPlaybackVolume(80);
 // 获取混音文件播放总时长(秒)
 Engine.GetAudioMixingDuration();
 // 获取混音进度,例如 0.2 表示播放了 20%
 Engine.GetAudioMixingPosition();
 // 调节混音进度,例如 0.2 表示调节至 20% 处开始播放
 Engine.SetAudioMixingPosition(double position);
 // 暂停混音
 Engine.PauseAudioMixing();
 // 继续混音
 Engine.ResumeAudioMixing();
 // 停止混音
 Engine.StopAudioMixing();
设置混音状态监听
开始混音、暂停/继续混音、结束混音、混音文件已自动混流完成等状态监听。
C #
Engine.OnAudioMixingStarted = () => {
    // 混音开始
 }
Engine.OnAudioMixingPaused = () => {
    // 混音暂停
 }
Engine.OnAudioMixingStopped = () => {
    // 混音停止
}
Engine.OnAudioMixingFinished = () => {
    // 混音完成
 }