加入和离开 RTC 房间
更新时间: 2024/11/20 17:05:14
本文介绍在 K 歌场景中用户加入房间和离开 RTC 房间的操作。
背景信息
KTV 房间在底层实现上包括 IM 的聊天室以及 RTC 房间。
IM 聊天室的实现方法请参见聊天室。
本文主要展示 RTC 房间的相关实现。
实现流程
-
在加入 RTC 房间前调用
setChannelProfile
接口,设置房间场景为直播场景(LiveBroadcasting
)。 -
调用
setAudioProfile
接口,设置音频profile
类型为HighQualityStereo
,设置scenario
为MUSIC
。 -
调用
joinChannel
接口加入 RTC 房间。第一位用户加入 RTC 房间后,RTC 服务器会自动创建一个 RTC 房间。
-
调用
leaveChannel
接口离开RTC 房间。
示例代码
/**
* @param context 应用上下文环境
* @param appkey
* @param callback 回调接口,自行实现
* @param option 配置项,如不需要,填null.
*/
NERtcEx.getInstance().init(context, appkey, callback, option);
NERtcEx.getInstance().setChannelProfile(NERtcConstants.RTCChannelProfile.LIVE_BROADCASTING);
NERtcEx.getInstance().setAudioProfile(NERtcConstants.AudioProfile.HIGH_QUALITY_STEREO, NERtcConstants.AudioScenario.MUSIC);
//自行执行 audioframeobserver
NERtcEx.getInstance().setAudioFrameObserver(audioFrameObserver);
NERtcAudioFrameRequestFormat mixFormat = new NERtcAudioFrameRequestFormat();
mixFormat.setChannels(2);
mixFormat.setSampleRate(48000);
mixFormat.setOpMode(NERtcAudioFrameOpMode.kNERtcAudioFrameOpModeReadOnly);
NERtcEx.getInstance().setMixedAudioFrameParameters(mixFormat);
NERtcAudioFrameRequestFormat recordFormat = new NERtcAudioFrameRequestFormat();
recordFormat.setChannels(2);
recordFormat.setSampleRate(48000);
recordFormat.setOpMode(NERtcAudioFrameOpMode.kNERtcAudioFrameOpModeReadWrite);
NERtcEx.getInstance().setRecordingAudioFrameParameters(recordFormat);
//设置ntp时间对齐
NERtcEx.getInstance().setStreamAlignmentProperty(true);
//加入房间
NERtcEx.getInstance().joinChannel(token, channelName, localUid);
//离开房间
NERtcEx.getInstance().leaveChannel();
此文档是否对你有帮助?