MainBroadcaster

cn.tee3.avd

## 类 MainBroadcaster

- java.lang.Object
- - cn.tee3.avd.Livecast
  - - cn.tee3.avd.MainBroadcaster

-     public class MainBroadcaster
      extends Livecast

  直播主播接口类 直播主播接口定义了直播主播对象创建、直播发布和关闭操作。

- - ### 嵌套类概要

    嵌套类
    限定符和类型 | 类和说明
    --- | ---
    `protected class` | `MainBroadcaster.BroadListenerHandler`
    `static interface` | `MainBroadcaster.Listener` 直播主播回调接口类 直播主播回调接口定义了直播对象操作的异步返回，直播状态通知等。
    `static class` | `MainBroadcaster.MixerVideoLayoutType` 视频混频布局类型

    - ### 从类继承的嵌套类/接口 cn.tee3.avd.Livecast

      `Livecast.ListenerHandler, Livecast.LivecastStatus, Livecast.SDKListener`

  - ### 字段概要

    字段
    限定符和类型 | 字段和说明
    --- | ---
    `protected MainBroadcaster.Listener` | `listener4cb2`

    - ### 从类继承的字段 cn.tee3.avd.Livecast

      `_netProber, listener4cb, listener4native, listenerHandler, msg_onDialogueResult, msg_onLivecastStatus, msg_onPublishResult, msg_onRtmpPlay, msg_onRtmpStop, nativeListener, nativeobj, rooms`

  - ### 方法概要

    所有方法 静态方法 实例方法 具体方法
    限定符和类型 | 方法和说明
    --- | ---
    `int` | `addLiveSubVideo(java.lang.String deviceId, int zorder, float x, float y, float w, float h)` 添加视频到直播视频特定位置
    `int` | `autoLayoutParams(boolean isTopdown, float w, float h, float x_begin, float y_begin)` 直播视频自动布局的布局参数设置
    `void` | `clearLiveSubVideos()` 清理掉所有的混屏视频，包括主视频；如果需要再次开启合屏，需要重新设置直播视频和Overlay视频。
    `protected void` | `dispose()`
    `java.util.List<VideoDevice>` | `getPublishedVideos()` 获取房间中已发布视频列表
    `protected boolean` | `initHandler()`
    `int` | `kickoutUser(int reason, java.lang.String userId)` 房间中踢出用户
    `static MainBroadcaster` | `obtain(java.lang.String roomId)`
    `int` | `publish(java.lang.String pushUrl, VideoRenderer preview)` 开启直播
    `void` | `removeLiveSubVideo(java.lang.String deviceId)` 移除直播视频上的某一视频
    `int` | `setListener2(MainBroadcaster.Listener listener)` 设置主播房间回调接口
    `int` | `setLiveMainVideo(java.lang.String deviceId)` 切换直播视频的主视频（若主视频掉线，本地主播视频切为主视频）
    `int` | `setLiveVideoBackgroud(java.lang.String background)` 设置直播视频背景图片
    `int` | `setLiveVideoScaleType(VideoRenderer.ScalingType scale)` 设置直播视频合屏时采用的拉伸方式
    `int` | `setLiveVideoTypeaSize(MainBroadcaster.MixerVideoLayoutType layout, int width, int height)` 设置直播视频参数
    `int` | `unpublish()` 关闭直播
    `int` | `updateLiveSubVideo(java.lang.String deviceId, int zorder, float x, float y, float w, float h)` 更新附加视频在直播视频上显示的位置

    - ### 从类继承的方法 cn.tee3.avd.Livecast

      `beginNetProber, captureImage, clearRooms, destoryRoom, getLiveStatus, getOption, getRoomId, getUserManager, hangup, isDialogue, muteMicrophone, nativeaddLiveSubVideo, nativeautoLayoutParams, nativecaptureImage, nativeclearLiveSubVideos, nativeCreateListener, nativedialogue, nativeFreeListener, nativegetLiveStatus, nativegetMUserManager, nativegetPublishedVideos, nativegetRoomId, nativehangup, nativeisDialogue, nativekickoutUser, nativemainbdsetListener2, nativemuteMicrophone, nativeobtain, nativepublish, nativereConnect, nativerelease, nativeremoveLiveSubVideo, nativergetOption, nativersetOption, nativerswitchCamera, nativesetBroadcasterId, nativesetListener, nativesetLiveMainVideo, nativesetLiveVideoBackgroud, nativesetLiveVideoScaleType, nativesetLiveVideoTypeaSize, nativesetVideoSource, nativeunpublish, nativeupdateLiveSubVideo, nativeviewersetListener2, nativewatchRoom, setListener, setOption, setVideoSource, switchCamera`

    - ### 从类继承的方法 java.lang.Object

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- - ### 字段详细资料

    - #### listener4cb2

          protected MainBroadcaster.Listener listener4cb2

  - ### 方法详细资料

    - #### obtain

          public static MainBroadcaster obtain(java.lang.String roomId)

    - #### setListener2

          public int setListener2(MainBroadcaster.Listener listener)

      设置主播房间回调接口
      返回:
        返回错误代码。
      另请参阅:
        `MainBroadcaster.Listener`

    - #### publish

          public int publish(java.lang.String pushUrl,
                             VideoRenderer preview)

      开启直播
      返回:
        返回错误代码。

    - #### unpublish

          public int unpublish()

      关闭直播
      返回:
        返回错误代码。

    - #### kickoutUser

          public int kickoutUser(int reason,
                                 java.lang.String userId)

      房间中踢出用户
      返回:
        返回错误代码。

    - #### getPublishedVideos

          public java.util.List<VideoDevice> getPublishedVideos()

      获取房间中已发布视频列表
      返回:
        返回视频列表。

    - #### setLiveVideoTypeaSize

          public int setLiveVideoTypeaSize(MainBroadcaster.MixerVideoLayoutType layout,
                                           int width,
                                           int height)

      设置直播视频参数
      返回:
        返回错误代码。

    - #### setLiveVideoScaleType

          public int setLiveVideoScaleType(VideoRenderer.ScalingType scale)

      设置直播视频合屏时采用的拉伸方式
      返回:
        返回错误代码。

    - #### setLiveVideoBackgroud

          public int setLiveVideoBackgroud(java.lang.String background)

      设置直播视频背景图片
      返回:
        返回错误代码。

    - #### clearLiveSubVideos

          public void clearLiveSubVideos()

      清理掉所有的混屏视频，包括主视频；如果需要再次开启合屏，需要重新设置直播视频和Overlay视频。

    - #### setLiveMainVideo

          public int setLiveMainVideo(java.lang.String deviceId)

      切换直播视频的主视频（若主视频掉线，本地主播视频切为主视频）
      返回:
        返回错误代码。

    - #### autoLayoutParams

          public int autoLayoutParams(boolean isTopdown,
                                      float w,
                                      float h,
                                      float x_begin,
                                      float y_begin)

      直播视频自动布局的布局参数设置
      返回:
        返回错误代码。

    - #### addLiveSubVideo

          public int addLiveSubVideo(java.lang.String deviceId,
                                     int zorder,
                                     float x,
                                     float y,
                                     float w,
                                     float h)

      添加视频到直播视频特定位置
      返回:
        返回错误代码。

    - #### updateLiveSubVideo

          public int updateLiveSubVideo(java.lang.String deviceId,
                                        int zorder,
                                        float x,
                                        float y,
                                        float w,
                                        float h)

      更新附加视频在直播视频上显示的位置
      返回:
        返回错误代码。

    - #### removeLiveSubVideo

          public void removeLiveSubVideo(java.lang.String deviceId)

      移除直播视频上的某一视频

    - #### dispose

          protected void dispose()

      覆盖:
        `dispose` 在类中 `Livecast`

    - #### initHandler

          protected boolean initHandler()

      覆盖:
        `initHandler` 在类中 `Livecast`