在线KTV模式越来越受到大家的欢迎,在一个房间内,拿麦者可以自定义调节歌曲伴奏音量,或者进行切歌操作,房间内的多人同时可以进行实时语音聊天。
用户A创建一个KTV房间,此时A用户就是房主,后续进入房间的角色都是观众,房主可以加载一个本地或在线的MV视频文件进行在线演唱,对房间有控制权
房主:
- 创建KTV房间,点歌并开始演唱;
- 房主关闭房间后,所有的用户退出房间;
- 创建 TTT 音频引擎对象 sharedEngineWithAppId
- 设置频道直播模式 setChannelProfile
- 设置用户角色 setClientRole 麦上用户: BROADCASTER, 麦下用户: AUDIENCE
- 启用说话音量提示 enableAudioVolumeIndication
- 置视频编码属性(自定义) setVideoProfile
- 加入频道 joinChannelByKey
- 离开频道 leaveChannel
- 静音/取消静音,可选操作 muteLocalAudioStream
- 禁用/启用本地视频功能 enableLocalVideo
- 配置外部视频源 setExternalVideoSource
- 推送外部视频帧 pushExternalVideoFrame
- 推送外部音频数据 pushExternalAudioData参考SDK
- setExternalVideoSource KTV模式在加入房间之前必须启用该接口
- pushExternalVideoFrame 推送TTTPlayerKit回调的视频数据
- -(void)rtcEngine:(TTTRtcEngineKit )engine pullAudioData:(char )data size:(int)size sampleRate:(NSUInteger)sampleRate channels:(int)channels 实现TTTRtcEngineDelegate回调,在回调里面拉取TTTPlayerKit里音频数据,在TTTPlayerDelegateKTV音频数据回调里面 推送外部音频数据pushExternalAudioData**
- TTTPlayerKit相关使用封装在KTVManager,接口使用参考demo
- 在三体云官网SDK下载页 http://3ttech.cn/index.php?menu=53 下载对应平台的 连麦直播SDK。
- 登录三体云官网 http://dashboard.3ttech.cn/index/login 注册体验账号,进入控制台新建自己的应用并获取APPID。
SDK包含TTTRtcEngineVoiceKit.framework和TTTPlayerKit.framework
两个framework只支持真机,不支持模拟器
在KTVManager.m目录下填写申请的AppID
工程已做如下配置,直接运行工程
- 设置Bitcode为NO
- 设置后台音频模式
- 导入系统库
- libxml2.tbd
- libc++.tbd
- libz.tbd
- libsqlite3.tbd
- ReplayKit.framework
- CoreTelephony.framework
- SystemConfiguration.framework
- 由于部分模拟器会存在功能缺失或者性能问题,所以 SDK 不支持模拟器的使用。