QNAudioMusicMixer
1. 当前仅支持基于 QNMicrophoneAudioTrack 的背景音乐混音操作
2. 混音需要加入房间并且成功发布后才会生效,因此,需要注意调用的时机
3. 背景音乐混音仅支持同时混合一路背景音乐,若需要切换背景音乐,重新调用 QNMicrophoneAudioTrack.createAudioMusicMixer 创建本类的实例即可
4. 若您希望在混合背景音乐的同时添加音效,可参考音效混音接口(QNAudioEffectMixer)
- void setPublishEnabled(boolean enabled)
-
设置是否推送到远端,默认推送
Parameters-
enabled: boolean
false: 只在本地播放音乐,true: 将本地播放的音乐发布至远端
-
- boolean isPublishEnabled()
-
是否推送到远端
Returns false: 只在本地播放音效, true: 将本地播放的音效发布至远端
- static long getDuration(String filePath)
-
获取指定音频文件的总时长,单位:ms
该接口为同步方法,对于在线音频文件,获取时长会存在一定的耗时,需注意调用接口所在的线程
Returns 音频文件总时长,单位:ms
- void start()
-
开始混音并播放,音频只混一次,不做循环混音操作
混音开始后会触发 QNAudioMusicMixerListener.onStateChanged 回调,并回调 QNAudioMusicMixerState.MIXING 状态
混音过程中会回调 QNAudioMusicMixerListener.onMixing 方法
- void start(int loopCount)
-
开始指定次数的混音并播放
混音开始后会触发 QNAudioMusicMixerListener.onStateChanged 回调,并回调 QNAudioMusicMixerState.MIXING 状态
混音过程中会回调 QNAudioMusicMixerListener.onMixing 方法
Parameters-
loopCount: int
混音次数,-1 为无限循环,0 则不做混音,其他则为指定次数的混音
-
- void stop()
-
停止混音操作
混音停止后会触发 QNAudioMusicMixerListener.onStateChanged 回调,并回调 QNAudioMusicMixerState.STOPPED 状态
- void resume()
-
恢复混音操作
混音恢复后会触发 QNAudioMusicMixerListener.onStateChanged 回调,并回调 QNAudioMusicMixerState.MIXING 状态
- void pause()
-
暂停混音操作
混音暂停后会触发 QNAudioMusicMixerListener.onStateChanged 回调,并回调 QNAudioMusicMixerState.PAUSED 状态
- long getCurrentPosition()
-
获取当前音频混音的位置,单位: ms
Returns 当前音频混音的位置,单位: ms
- void seekTo(long position)
-
跳到指定位置混音
成功跳到指定位置混音后会触发 QNAudioMusicMixerListener.onStateChanged 回调,并回调 QNAudioMusicMixerState.MIXING 状态
Parameters-
position: long
指定位置的时间戳,单位: ms
-
- void setMixingVolume(float musicVolume)
-
设置背景音乐的混音音量,默认音量为 1.0f
该接口已废弃,请使用 setMusicVolume
Parameters-
musicVolume: float
背景音乐混音音量,[0.0f - 1.0f]
-
- float getMixingVolume()
-
该接口已废弃,请使用 getMusicVolume
Returns 背景音乐混音的音量,[0.0f - 1.0f]
- void setMusicVolume(float musicVolume)
-
设置背景音乐的混音音量,默认音量为 1.0f
若想修改混音中麦克风采集音频的音量,可通过 QNMicrophoneAudioTrack.setVolume 接口实现
Parameters-
musicVolume: float
背景音乐混音音量,[0.0f - 1.0f]
-
- float getMusicVolume()
-
获取背景音乐混音的音量
Returns 背景音乐混音的音量,[0.0f - 1.0f]
- void setStartPosition(long position)
-
设置背景音乐混音的起始位置,起始位置的有效值为 0 - duration 之间的值
Parameters-
position: long
背景音乐混音的起始位置,单位:ms
-
- long getStartPosition()
-
获取背景音乐混音的起始位置
Returns 背景音乐混音的起始位置,单位:ms