背景音乐混音
本部分介绍背景音乐混音功能的使用
开始混音
用户可在连麦过程中通过混音功能添加背景音乐,支持 MP3、AAC 等格式的本地(v2.2.0+)或在线(v2.3.0+)音乐,使用方式如下:
QNAudioMixingManager manager = mQNRTCEngine.getAudioMusicMixingManager();
int loopTime = 0;// 循环次数,0 即代表不循环,-1 代表无限循环
String filePath = "/sdcard/music/example.mp3";
manager.setMicrophoneVolume(100);// 设置麦克风音量
manager.setMusicVolume(70);// 设置音乐音量
manager.startAudioMixing(filePath, loopTime);// 开始混音
设置监听器
在需要监听混音状态时,可以通过如下方法进行设置监听器:
public void setAudioMixingListener(QNAudioMixingListener listener);
开始混音时将会触发 QNAudioMixingListener#onPreparing 回调;当 QNAudioMixingListener#onPlaying 回调时则代表正在混音,且将会返回混音的时长以及混音音频的总时长;当 QNAudioMixingListener#onStopped 回调时则代表混音已结束。
监听器中包含各种状态回调以及错误回调,具体可参考 QNAudioMixingListener 的 API 文档。
返听功能
若用户需要返听功能模拟真实 KTV 场景,用户可以通过调用此接口以开启/关闭返听:
public void enablePlayBack(boolean enabled);
当打开返听时用户可以听到混音后的音频,让使用者可以听到自己的声音与音乐的声音混音后得到的声音,需要注意的是此功能仅在混音的 QNAudioMixingListener#onPlaying 状态时生效。
混音控制
SDK 提供了丰富的混音控制接口,具体可参考 QNAudioMixingManager 的 API 文档。
背景音乐混音功能建议在佩戴耳机的情况下使用,在使用前必须将混音模块动态库 libqndroid_amix.so 导入项目。需要注意的是 SDK 内部播放器的音量控制采用了 Android 5.0 以上设置播放音量相关的 API,所以设置背景音量对部分低版本机型在本地播放时可能会失效,但在远端听到的是设置好的音量,故混音功能推荐在 Android 5.0 以上的机型中使用以获得最好的体验。