KTV 歌房如何实现伴奏与人声同步功能

本文讲述即构平台 KTV 歌房在iOS环境下怎么实现伴奏与人声同步功能。

相关阅读《在线KTV 歌房概述,架构,应用数据流及实现方式》

1、功能实现流程图

当主唱开始唱歌时候,需要播放伴奏,并且把伴奏的和主唱的声音混在一起推流出去。

SDK内部会把人声和伴奏进行混音,同时进行播放,进行推流,达到人声伴奏同步的状态。

具体实现流程图请参考:
在这里插入图片描述
2、使用SDK进行播放伴奏

2.1 初始化SDK媒体播放器

ZEGO SDK 提供了相关接口,初始化媒体播放器。(即构SDK可到官网开放下载测试)

示例代码如下:

ZegoMediaPlayer* player = [[ZegoMediaPlayer alloc] initWithPlayerType:MediaPlayerTypeAux];

初始化一定要使用 MediaPlayerTypeAux 模式,

MediaPlayerTypeAux推流播放模式,会将音频混流推流中,调用端和拉流端都可以听到播放的声音。

这样一来,播放伴奏的同时,也把伴奏跟人声进行混音推出去了。

2.2 播放伴奏音乐

初始化好播放器后,就可以播放文件了。

媒体播放器支持 MP3、MP4 格式的文件。除了本地媒体文件,媒体播放器还支持播放在线 MP3 与 MP4 格式的文件(http://)。

SDK接口代码如下:

/**

开始播放

@param path 媒体文件的路径

@param repeat 是否重复播放

@note 只有在引擎启动的情况下才会播放

*/

- (void)start:(NSString *)path repeat:(BOOL)repeat;

示例代码如下:

ZegoMediaPlayer* player = [[ZegoMediaPlayer alloc] initWithPlayerType:MediaPlayerTypeAux];
[player start:path repeat:false];

猜你喜欢

转载自blog.csdn.net/sinat_20146421/article/details/83450573
今日推荐