加入和离开 RTC 房间

更新时间: 2022/11/04 10:02:17

本文介绍在 K 歌场景中用户加入房间和离开 RTC 房间的操作。

背景信息

KTV 房间在底层实现上包括 IM 的聊天室以及 RTC 房间。

IM 聊天室的实现方法请参见聊天室

本文主要展示 RTC 房间的相关实现。

实现流程

  1. 在加入 RTC 房间前调用setChannelProfile接口,设置房间场景为直播场景(LiveBroadcasting)。

  2. 调用 setAudioProfile 接口,设置音频 profile 类型为 HighQualityStereo,设置 scenarioMUSIC

  3. 调用 joinChannel 接口加入 RTC 房间。

    第一位用户加入 RTC 房间后,RTC 服务器会自动创建一个 RTC 房间。

  4. 调用 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();
此文档是否对你有帮助?
有帮助
去反馈
  • 背景信息
  • 实现流程
  • 示例代码