MScreen

cn.tee3.avd

## 类 MScreen

- java.lang.Object
- - cn.tee3.avd.Module
  - - cn.tee3.avd.MScreen

-     public class MScreen
      extends Module

  房间中屏幕窗口共享模块接口. 房间屏幕窗口共享模块定义房间中屏幕窗口共享相关功能接口。

- - ### 嵌套类概要

    嵌套类
    限定符和类型 | 类和说明
    --- | ---
    `static interface` | `MScreen.Listener` 房间中屏幕窗口共享模块回调接口.
    `static class` | `MScreen.ScreenResolution`
    `static class` | `MScreen.ScreenType`
    `static class` | `MScreen.ScreenWindow` 屏幕窗口设备信息结构.

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

      `Module.Type`

  - ### 字段概要

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

      `nativeobj`

  - ### 构造器概要

    构造器
    限定符 | 构造器和说明
    --- | ---
    `protected` | `MScreen(Room room)`

  - ### 方法概要

    所有方法 静态方法 实例方法 具体方法
    限定符和类型 | 方法和说明
    --- | ---
    `int` | `attachRender(java.lang.String deviceId, VideoRenderer render)` 关联共享的屏幕窗口视频数据和显示对象，在render中显示视频
    `int` | `detachRender(java.lang.String deviceId)` 解除屏幕窗口视频的所有显示对象关联
    `int` | `detachRender(VideoRenderer render)` 解除某一显示对象与屏幕窗口视频的关联
    `protected void` | `dispose()`
    `java.util.List<MScreen.ScreenWindow>` | `getPublishedScreens()` 获取已共享屏幕窗口信息（包含自己发布的屏幕）
    `static MScreen` | `getScreen(Room room)` 获取房间内屏幕窗口共享模块接口
    `java.lang.String` | `getScreenId(MScreen.ScreenType screenType)`
    `java.util.List<MScreen.ScreenWindow>` | `getSubscribedScreens()` 获取已订阅屏幕窗口信息
    `boolean` | `hasScreenPublished()`
    `void` | `initNativeListener()`
    `boolean` | `isPublishedScreen(MScreen.ScreenType screenType)`
    `boolean` | `isScreenSubscribed(java.lang.String deviceId)` 判断屏幕是否已经发布到房间中
    `int` | `nativePublishedScreen2(MScreen.ScreenWindow screenWindow, MVideo.CameraCapability capability, long nativeSource)`
    `int` | `nativeUnPublishedScreen()`
    `int` | `publishedScreens(MScreen.ScreenResolution resolution, int fps, boolean isPublish)`
    `int` | `publishScaleScreen(ScaleScreenCapturer.ScaleZone scaleZone)`
    `boolean` | `setListener(MScreen.Listener listener)` 设置房间屏幕窗口共享模块回调接口
    `int` | `subscribe(java.lang.String deviceId)` 订阅共屏屏幕窗口视频
    `int` | `unpublishedScreens()`
    `int` | `unpublishScreen(MScreen.ScreenType screenType)`
    `int` | `unsubscribe(java.lang.String deviceId)` 取消订阅共屏屏幕窗口视频
    `int` | `updateScreenData(java.lang.String deviceId, int level, java.lang.String description)` 摄像头数据更改

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

      `createModule, getOwnerId, getOwnerName, getRoom, getType, getUserManager, getUserName, isSelfDevice, isSelfUser`

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

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

- - ### 构造器详细资料

    - #### MScreen

          protected MScreen(Room room)

  - ### 方法详细资料

    - #### getScreen

          @Nullable
          public static MScreen getScreen(Room room)

      获取房间内屏幕窗口共享模块接口
      返回:
        返回屏幕窗口共享模块接口指针。

    - #### dispose

          protected void dispose()

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

    - #### setListener

          public boolean setListener(MScreen.Listener listener)

      设置房间屏幕窗口共享模块回调接口
      返回:
        返回错误代码。

    - #### initNativeListener

          public void initNativeListener()

    - #### subscribe

          public int subscribe(java.lang.String deviceId)

      订阅共屏屏幕窗口视频
      返回:
        返回错误代码。

    - #### unsubscribe

          public int unsubscribe(java.lang.String deviceId)

      取消订阅共屏屏幕窗口视频
      返回:
        返回错误代码。

    - #### getPublishedScreens

          public java.util.List<MScreen.ScreenWindow> getPublishedScreens()

      获取已共享屏幕窗口信息（包含自己发布的屏幕）
      返回:
        返回屏幕窗口集合存放列表。

    - #### getSubscribedScreens

          public java.util.List<MScreen.ScreenWindow> getSubscribedScreens()

      获取已订阅屏幕窗口信息
      返回:
        返回屏幕窗口集合存放列表。

    - #### isScreenSubscribed

          public boolean isScreenSubscribed(java.lang.String deviceId)

      判断屏幕是否已经发布到房间中

    - #### attachRender

          public int attachRender(java.lang.String deviceId,
                                  VideoRenderer render)

      关联共享的屏幕窗口视频数据和显示对象，在render中显示视频
      返回:
        返回错误代码。

    - #### detachRender

          public int detachRender(java.lang.String deviceId)

      解除屏幕窗口视频的所有显示对象关联
      返回:
        返回错误代码。

    - #### detachRender

          public int detachRender(VideoRenderer render)

      解除某一显示对象与屏幕窗口视频的关联

    - #### publishedScreens

          public int publishedScreens(MScreen.ScreenResolution resolution,
                                      int fps,
                                      boolean isPublish)

    - #### publishScaleScreen

          public int publishScaleScreen(ScaleScreenCapturer.ScaleZone scaleZone)

    - #### getScreenId

          public java.lang.String getScreenId(MScreen.ScreenType screenType)

    - #### isPublishedScreen

          public boolean isPublishedScreen(MScreen.ScreenType screenType)

    - #### unpublishedScreens

          public int unpublishedScreens()

    - #### unpublishScreen

          public int unpublishScreen(MScreen.ScreenType screenType)

    - #### hasScreenPublished

          public boolean hasScreenPublished()

    - #### updateScreenData

          public int updateScreenData(java.lang.String deviceId,
                                      int level,
                                      java.lang.String description)

      摄像头数据更改

    - #### nativePublishedScreen2

          public int nativePublishedScreen2(MScreen.ScreenWindow screenWindow,
                                            MVideo.CameraCapability capability,
                                            long nativeSource)

    - #### nativeUnPublishedScreen

          public int nativeUnPublishedScreen()