伴奏文件
伴奏文件的接口方法如下所示。
- 调用 startAudioAccompanyWithFile 开始混音伴奏,调用成功返回 0,失败返回错误码。
说明 调用该接口后,立即开始混音伴奏。
//接口方法 - (int)startAudioAccompanyWithFile:(NSString *)filePath onlyLocalPlay:(BOOL)onlyLocalPlay replaceMic:(BOOL)replaceMic loopCycles:(NSInteger)loopCycles; //示例方法 int code = [self.engine startAudioAccompanyWithFile:@"******" onlyLocalPlay:YES replaceMic:YES loopCycles:3]; if (code != 0) { NSLog(@"播放失败,请检查参数配置"); }
参数 | 说明 |
filePath | 伴奏文件路径 |
onlyLocalPlay | 是否只本地播放。YES:仅本地播放;NO:本地播放和推流 |
replaceMic | 是否替换麦克风采集,YES:替换麦克风采集,只有伴奏声;NO:与麦克风共存 |
loopCycles | 循环次数,可以设置 - 1 或者正整数 |
- 调用 pauseAudioAccompany 暂停伴奏播放,调用成功返回 0,失败返回错误码。
说明 您需要在 startAudioAccompanyWithFile 接口之后调用。
//接口方法 - (int)pauseAudioAccompany; //示例接口 [self.engine pauseAudioAccompany];
- 调用 resumeAudioAccompany 恢复伴奏,调用成功返回 0,失败返回错误码。
说明 您可以与 pauseAudioAccompany 搭配使用。
//接口方法 - (int)resumeAudioAccompany; //示例方法 [self.engine resumeAudioAccompany];
- 调用 stopAudioAccompany 停止伴奏,调用成功返回 0,失败返回错误码。
说明 调用之后立刻停止伴奏播放,与 startAudioAccompanyWithFile 搭配使用。
//接口方法 - (int)stopAudioAccompany; //示例方法 [self.engine stopAudioAccompany];
- 设置音量的接口方法如下所示。
/** * @brief 设置混音音量 * @param volume 混音音量,取值:0~100 * @return 调用成功返回0,失败返回错误码 * @note 设置音量需要在调用startAudioAccompanyWithFile接口后才能生效 */ - (int)setAudioAccompanyVolume:(NSInteger)volume; /** * @brief 设置混音之后推流出去的音量 * @param volume 混音音量,取值:0~100 * @return 调用成功返回0,失败返回错误码 * @note 设置音量需要在调用startAudioAccompanyWithFile接口后才能生效 */ - (int)setAudioAccompanyPublishVolume:(NSInteger)volume; /** * @brief 获取推流出去的混音音量 * @return 调用成功返回0,失败返回错误码 */ - (int)getAudioAccompanyPublishVolume; /** * @brief 设置混音之后本地播放的音量 * @param volume 混音音量,取值:0~100 * @return 调用成功返回0,失败返回错误码 * @note 设置音量需要在调用startAudioAccompanyWithFile接口后才能生效 */ - (int)setAudioAccompanyPlayoutVolume:(NSInteger)volume; /** * @brief 获取混音本地播放的音量 * @return 调用成功返回0,失败返回错误码 */ - (int)getAudioAccompanyPlayoutVolume;
音效文件
音效文件的接口方法如下所示。
- 调用 preloadAudioEffectWithSoundId 预加载音效文件,调用成功返回 0,失败返回错误码。
//接口方法 - (int)preloadAudioEffectWithSoundId:(NSInteger)soundId filePath:(NSString *)filePath; //示例方法 [self.engine preloadAudioEffectWithSoundId:11235 filePath:@"*******"];
参数 | 类型 | 说明 |
filePath | NSString * | 伴奏文件路径 |
soundId | NSInteger | 指定的音效文件 ID,个数无限制,您需要通过此 ID 做后续操作 |
- 调用 unloadAudioEffectWithSoundId 根据预加载的音效文件 ID 删除预加载音效,调用成功返回 0,失败返回错误码。
//接口方法 - (int)unloadAudioEffectWithSoundId:(NSInteger)soundId; //示例方法 [self.engine unloadAudioEffectWithSoundId:11235];
- 调用 playAudioEffectWithSoundId 开始播放音效,调用成功返回 0,失败返回错误码。
说明 调用该接口后立即播放音效,您需要在 preloadAudioEffectWithSoundId 之后调用。
//接口方法 - (int)playAudioEffectWithSoundId:(NSInteger)soundId filePath:(NSString *)filePath cycles:(NSInteger)cycles publish:(BOOL)publish; //示例方法 int code = [self.engine playAudioEffectWithSoundId:11235 filePath:@"******" cycles:5 publish:YES]; if (code != 0) { NSLog(@"播放失败,,请检查参数配置"); }
参数 | 类型 | 说明 |
soundId | NSInteger | 预加载时指定的文件 ID |
filePath | NSString * | 音效文件路径 |
cycles | NSInteger | 循环次数,可以设置为 - 1 或者正整数 |
publish | BOOL | 是否推流,NO:不推流、仅本地播放;YES:本地播放和推流 |
- 调用 pauseAudioEffectWithSoundId 暂停播放音效,调用成功返回 0,失败返回错误码。
说明 您需要在 playAudioEffectWithSoundId 接口之后调用。
//接口方法 - (int)pauseAudioEffectWithSoundId:(NSInteger)soundId; //示例方法 [self.engine pauseAudioEffectWithSoundId:11235];
- 调用 resumeAudioEffectWithSoundId 恢复播放音效,调用成功返回 0,失败返回错误码。
说明 该接口可以和 pauseAudioEffectWithSoundId 搭配使用。
//接口方法 - (int)resumeAudioEffectWithSoundId:(NSInteger)soundId; //示例方法 [self.engine resumeAudioEffectWithSoundId:11235];
- 调用 stopAudioEffectWithSoundId 停止播放音效,调用成功返回 0,失败返回错误码。
说明 调用该接口之后立刻停止播放音效,可以与 playAudioEffectWithSoundId 搭配使用。
//接口方法 - (int)stopAudioEffectWithSoundId:(NSInteger)soundId; //示例方法 [self.engine stopAudioEffectWithSoundId:11235];
- 设置音效音量接口方法如下所示。
/** * @brief 设置音效推流音量 * @param soundId 音效文件ID * @param volume 混音音量,取值:0~100 * @return 调用成功返回0,失败返回错误码 */ - (int)setAudioEffectPublishVolumeWithSoundId:(NSInteger)soundId volume:(NSInteger)volume; /** * @brief 获取推流音效音量 * @param soundId 音效文件ID * @return 调用成功返回0~100音量,失败返回错误码 */ - (int)getAudioEffectPublishVolumeWithSoundId:(NSInteger)soundId; /** * @brief 设置音效本地播放音量 * @param soundId 音效文件ID * @param volume 混音音量,取值:0~100 * @return 调用成功返回0,失败返回错误码 */ - (int)setAudioEffectPlayoutVolumeWithSoundId:(NSInteger)soundId volume:(NSInteger)volume; /** * @brief 获取音效本地播放音量 * @param soundId 音效文件分配ID * @return 调用成功返回0~100音量,失败返回错误码 */ - (int)getAudioEffectPlayoutVolumeWithSoundId:(NSInteger)soundId;
「视频云技术」你最值得关注的音视频技术公众号,每周推送来自阿里云一线的实践技术文章,在这里与音视频领域一流工程师交流切磋。