首页
产品
帮助文档
博客
控制台

接入步骤

目录

  1. 环境需求

  2. 添加SDK

  3. 初始化

  4. 加入房间

  5. 离开房间

环境需求

添加SDK

build.gradle文件中设置的dependencies加入依赖如下例:

   dependencies {
    ...
    implementation 'tv.mudu:mrtc-interactive:1.0.0'
    implementation 'tv.mudu:mrtc:1.0.2'
    ...
   }

app/src/main/AndroidManifest.xml中加入必要的设备权限如下:

   <manifest xmlns:android="http://schemas.android.com/apk/res/android"
   package="xxx.xxx.xxx">

      <uses-permission android:name="android.permission.INTERNET" />
      <uses-permission android:name="android.permission.RECORD_AUDIO" />
      <uses-permission android:name="android.permission.CAMERA" />
      <uses-permission android:name="android.permission.MODIFY_AUDIO_SETTINGS" />
      <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
      <uses-permission android:name="android.permission.BLUETOOTH"/>
      ...
   </manifest>

初始化

使用目睹云的互动直播主机地址、推流配置和渲染的view来创建MRTCInteractiveClient实例

private void initClient() {
  try {
    MRTCSetting defaultSetting = MRTCSetting.builder().createSetting();
    mrtcClient = new MRTCInteractiveClient("interactive.myun.tv",getApplicationContext(),renderer,defaultSetting);
  }catch (MRTCException e){

  }
}

加入频道

在初始化MRTCInteractiveClient实例之后,调用join方法加入频道

private void joinTheRoom() {
  mrtcClient.join(channelId, role, password, new MRTCInteractiveClient.MRTCInteractiveClientRoomEvents() {
            @Override
            public void stateChanged(MRTCInteractiveClient.MRTCInteractiveClientState state) {
              //房间连接状态改变
            }

            @Override
            public void joinSuccess(List<String> roleList) {
              //加入房间成功
              //roleList为房间中当前在线的其他角色,可以调用playClient方法进行播放
            }

            @Override
            public void joinFailed(tv.mudu.mrtc.MRTCException exception){
              //加入失败
            }

            @Override
            public void onJoinRoles(List<String> roleList) {
              //新加入房间的角色List,可以调用playClient方法进行播放
            }

            @Override
            public void onLeaveRoles(List<String> roleList) {
              //离开房间的角色List
            }

            @Override
            public void playSuccess(String role) {
              //播放角色成功
            }

            @Override
            public void playFailed(String role, MRTCException e) {
              //播放角色失败
            }

            @Override
            public void onError(MRTCException exception) {
              //其他错误回调
            }
        });
    }
}

离开频道

调用leave方法离开频道,调用该方法会把直播相关的资源释放

private void leaveRoom() {
  mrtcClient.leave();  
}