QNAudioEffectMixer
1. 当前支持基于 QNMicrophoneAudioTrack 和 QNCustomAudioTrack 的音效混音操作
2. 注意调用的时机,加入房间并且成功发布后混音才会生效
3. 通过 QNRTC.createAudioEffectMixer 创建 QNAudioEffectMixer 实例对象, 使用 audioTrack.addAudioFilter 将 effectMixer 对象添加到 audioTrack 中
- - (QNAudioEffect *)createAudioEffectWithEffectID:(int)effectID filePath:(NSString *)filePath;
-
创建音效混音配置类实例
支持本地路径以及在线文件
音频格式支持 aac、mp3、mp4、wav、m4r、caf、ogg、opus、m4a、flac
每一路参与混音的音效都需要对应一个 QNAudioEffect 实例
音效 ID 作为音效标识符,请务必保证唯一
Parameters-
effectID: int
音效文件唯一标识符
-
filePath: NSString
文件路径
Returns QNAudioEffect 实例 -
- - (void)destroyAudioEffectWithEffectID:(int)effectID;
-
销毁音效类
Parameters-
effectID: int
音效文件唯一标识符
-
- - (void)setPublishEnabled:(BOOL)publishEnabled effectID:(int)effectID;
-
设置某音效音频是否发布到远端
Parameters-
publishEnabled: BOOL
是否发布到远端
-
effectID: int
音效唯一标识符
-
- - (BOOL)isPublishEnabled:(int)effectID;
-
获取某音效音频是否发布到远端
Parameters-
effectID: int
音效唯一标识符
Returns BOOL -
- - (BOOL)start:(int)effectID;
-
开始混音某音效
音效混音次数,通过 QNAudioEffect.setLoopCount 设置混音次数
音效混音结束,会触发 QNAudioEffectMixerDelegate.didFinished 回调
音效混音发生错误,会触发 QNAudioEffectMixerDelegate.didFailWithError 回调
Parameters-
effectID: int
音效唯一标识符
Returns BOOL 接口是否调用成功 -
- - (BOOL)stop:(int)effectID;
-
停止混音某音效
Parameters-
effectID: int
音效唯一标识符
Returns BOOL 接口是否调用成功 -
- - (BOOL)pause:(int)effectID;
-
暂停混音某音效
Parameters-
effectID: int
音效唯一标识符
Returns BOOL 接口是否调用成功 -
- - (BOOL)resume:(int)effectID;
-
恢复混音某音效
Parameters-
effectID: int
音效唯一标识符
Returns BOOL 接口是否调用成功 -
- - (int64_t)getCurrentPosition:(int)effectID;
-
获取某音效当前位置
Parameters-
effectID: int
音效唯一标识符
Returns int64_t,单位 ms -
- - (void)setEffectID:(int)effectID volume:(float)volume;
-
设置某音效音量,音量范围 0~1.0
该接口已废弃,请使用 QNAudioEffectMixer.setVolume
Parameters-
effectID: int
音效唯一标识符
-
volume: float
音量大小
-
- - (void)setVolume:(float)volume effectID:(int)effectID;
-
设置某音效音量,音量范围 0~1.0
Parameters-
volume: float
音量大小
-
effectID: int
音效唯一标识符
-
- - (float)getVolume:(int)effectID;
-
获取某音效音量
Parameters-
effectID: int
音效唯一标识符
Returns float,范围 0~1.0 -
- - (void)setAllEffectsVolume:(float)volume;
-
设置所有音效的音量,范围 0~1.0
Parameters-
volume: float
音量大小
-
- - (BOOL)stopAll;
-
停止混音所有音效
Returns BOOL 接口是否调用成功
- - (BOOL)pauseAll;
-
暂停混音所有音效
Returns BOOL 接口是否调用成功
- - (BOOL)resumeAll;
-
恢复混音所有音效
Returns BOOL 接口是否调用成功