程序包 rtc

类 MVideo


public class MVideo extends Module
房间中视频模块接口. 房间视频模块定义房间中视频发布、订阅功能接口。
  • 方法详细资料

    • getVideo

      public static MVideo getVideo(Room room)
      获取房间内视频模块接口
      返回:
      返回视频模块接口指针。
    • setListener

      public boolean setListener(MVideo.Listener listener)
      设置房间聊天模块回调接口
      返回:
      返回错误代码。
    • setCameraEventListener

      public static void setCameraEventListener(rtc.webrtc.CameraVideoCapturer.CameraEventsHandler listener)
      设置摄像头事件监听
      参数:
      listener - 监回调接口
    • setAutoRotation

      public static void setAutoRotation(boolean enable)
      启用或者停止视频自动旋转
    • isAutoRotation

      public static boolean isAutoRotation()
    • previewLocalCamera

      public int previewLocalCamera(MVideo.CameraType type, VideoRenderer render)
      预览本机前置或者后置摄像头视频
      返回:
      返回错误代码;若不支持此操作返回 Err_Not_Available。
    • unpreviewLocalCamera

      public int unpreviewLocalCamera()
      取消预览缺省摄像头视频
      返回:
      返回错误代码。
    • publishLocalCamera

      public int publishLocalCamera(MVideo.CameraType type)
      发布特定类型摄像头视频
      返回:
      返回错误代码;若不支持此操作返回 Err_Not_Available。
    • publishLocalCamera

      public int publishLocalCamera(MVideo.Camera camera)
      发布摄像头视频
      返回:
      返回错误代码。
    • publishLocalCamera

      public int publishLocalCamera(MVideo.Camera camera, FakeVideoCapturer capturer)
      发布模拟摄像头视频
      返回:
      返回错误代码。
    • publishUsbCamera

      public int publishUsbCamera()
      发布USB摄像头视频
      返回:
    • setPreviewCallback

      public void setPreviewCallback(rtc.webrtc.NativeCapturerObserver.PreviewCallback callback)
      设置摄像头原始数据监听
    • ispublishedLocalCamera

      public boolean ispublishedLocalCamera()
      判断本地摄像头是否已经打开
      返回:
      返回摄像头是否打开,只在前后摄像头模式使用。
    • isPublishedUsbCamera

      public boolean isPublishedUsbCamera()
      判断Usb摄像头是否已打开
      返回:
      返回摄像头是否打开,只在前后摄像头模式使用。
    • switchToLocalCamera

      public int switchToLocalCamera()
      判断本地摄像头是否已经打开
      返回:
      返回摄像头是否打开,只在前后摄像头模式使用。
    • switchToLocalCamera

      public int switchToLocalCamera(MVideo.CameraType toType)
      切换特定类型摄像头视频源
      返回:
      返回错误代码;若不支持此操作返回 Err_Not_Available。
    • getCurrentCameraType

      public MVideo.CameraType getCurrentCameraType()
      获取当前使用的摄像头类型
      返回:
      返回摄像头类型。
    • getCurrentCameraId

      public String getCurrentCameraId()
      获取当前使用的摄像头Id
      返回:
      返回摄像头类型。
    • unpublishLocalCamera

      public int unpublishLocalCamera()
      取消发布缺省摄像头视频
      返回:
      返回错误代码。
    • unpublishUsbCamera

      public int unpublishUsbCamera()
      取消发布USB摄像头
      返回:
      返回错误代码。
    • previewLocalCamera

      public int previewLocalCamera(String deviceId, VideoRenderer render)
      预览本地某一摄像头视频
      返回:
      返回错误代码。
    • unpublishLocalCamera

      public int unpublishLocalCamera(String deviceId)
      取消发布摄像头视频
      返回:
      返回错误代码。
    • unpublishMultipleLocalCameras

      public void unpublishMultipleLocalCameras()
      多摄像头模式(eo_camera_mode_frontback),停止所有已发布的摄像头
    • switchLocalCamera

      public int switchLocalCamera(String fromId, String toId)
      切换视频源
      返回:
      返回错误代码。
    • updateCameraData

      public int updateCameraData(String deviceId, int level, String description)
      摄像头数据更改
    • muteLocalCamera

      public int muteLocalCamera(String deviceId)
      已经published或preview的视频暂停:视频卡住,且也不发送到网络上
      返回:
      返回错误代码。
    • unmuteLocalCamera

      public int unmuteLocalCamera(String deviceId)
      取消视频暂停
      返回:
      返回错误代码。
    • subscribe

      public int subscribe(String deviceId)
      订阅摄像头视频
      返回:
      返回错误代码。
    • subscribeWithStreamType

      public int subscribeWithStreamType(String deviceId, VideoOptions.StreamType stream)
      订阅摄像头视频指定视频质量视频
    • subscribeWithVideoQuality

      public int subscribeWithVideoQuality(String deviceId, VideoOptions.VideoQuality quality)
      订阅摄像头视频指定视频质量视频
      返回:
      返回错误代码。
    • changeSubscribedVideoQuality

      public int changeSubscribedVideoQuality(String deviceId, VideoOptions.VideoQuality quality)
      更改订阅视频的视频质量
      返回:
      返回错误代码。
    • unsubscribe

      public int unsubscribe(String deviceId)
      取消订阅摄像头视频
      返回:
      返回错误代码。
    • getPublishedCameras

      public List<MVideo.Camera> getPublishedCameras()
      获取房间中已发布视频摄像头列表
      返回:
      返回摄像头设备列表(包含自己)
    • isCameraPublished

      public boolean isCameraPublished(String deviceId)
      判断摄像头是否已经发布到房间中
    • isCameraPublished

      public boolean isCameraPublished(MVideo.CameraType type)
    • getSubscribedCameras

      public List<MVideo.Camera> getSubscribedCameras()
      获取本用户订阅的摄像头视频列表
      返回:
      返回摄像头设备列表。
    • isCameraSubscribed

      public boolean isCameraSubscribed(String deviceId)
      判断摄像头是否已经被本用户订阅
    • getLocalCameras

      public List<MVideo.Camera> getLocalCameras()
      获取机摄像头设备列表
      返回:
      返回摄像头设备列表。
    • getCamera

      public MVideo.Camera getCamera(MVideo.CameraType type)
      获取指定类型的本机摄像头信息
      返回:
      返回摄像头设备信息。
    • getCamera

      public MVideo.Camera getCamera(String deviceId)
      获取指定设备Id的摄像头信息
      返回:
      返回摄像头信息。
    • getCameraCapability

      public List<MVideo.CameraCapability> getCameraCapability(String deviceId)
      获取指定设备Id的摄像头采集参数列表
      返回:
      返回采集参数列表。
    • getCameraCapabilities

      public List<MVideo.CameraCapability> getCameraCapabilities(MVideo.CameraType type)
      根据类型来获取摄像头信息
      参数:
      type - 摄像头类型(前后置、未知类型)
      返回:
    • setCaptureCapability

      public int setCaptureCapability(String deviceId, MVideo.CameraCapability cap)
      设置指定设备Id的采集参数
      参数:
      deviceId - 设备Id
      cap - 当前采集参数
      返回:
      返回错误代码
    • setCaptureCapability

      public int setCaptureCapability(MVideo.CameraType type, MVideo.CameraCapability cap)
      设置指定摄像头类型的采集参数
      参数:
      type - 相机类型
      cap - 当前采集参数
      返回:
      返回错误代码。
    • remotecmdPublishCamera

      public int remotecmdPublishCamera(MVideo.Camera camera)
      命令远端用户发布某一摄像头视频
      返回:
      返回错误代码。
    • remotecmdUnpublishCamera

      public int remotecmdUnpublishCamera(String deviceId)
      命令远端用户取消发布摄像头视频
      返回:
      返回错误代码。
    • changeCaptureFormat

      public void changeCaptureFormat(String cameraId, int width, int height, int rate)
      调整发布视频分辨率
      参数:
      width - 视频宽
      height - 视频高
      rate - 视频帧率
    • getDeviceNames

      public String[] getDeviceNames()
      获取摄像头列表
    • configDefaultCamera

      @Deprecated public void configDefaultCamera(String deviceName)
      已过时。
    • sendScreenIntent

      public void sendScreenIntent(android.content.Intent intent)
      启动共享屏幕系统服务
      参数:
      intent -
    • attachRender

      public int attachRender(String deviceId, VideoRenderer render)
      关联视频数据和显示对象,在render中显示视频
      返回:
      返回错误代码。
    • detachRender

      public int detachRender(String deviceId)
      解除摄像头视频数据的所有显示对象关联
      返回:
      返回错误代码。
    • detachRender

      public int detachRender(VideoRenderer render)
      解除某一显示对象与摄像头视频数据的关联
    • getRemoteCameras

      public List<MVideo.Camera> getRemoteCameras(String userId)
      获取某用户的缺省摄像头Id
    • getAndroidCamera

      public android.hardware.Camera getAndroidCamera()
      获取当前使用的android的摄像头对象,每次都要获取,可以返回为null
      返回:
      返回摄像头对象。
    • getCurrentRealCaptureCapability

      public MVideo.CameraCapability getCurrentRealCaptureCapability()
      获取preview和publish摄像头的真实分辨率
      返回:
      返回分辨率。
    • setVideoBitrate

      public int setVideoBitrate(String deviceId, int minBitrateBps, int maxBitrateBps)
      设置视频动态码率调整的范围,最小和最大比特率,
      返回:
      返回错误代码。
    • setCameraRotationType

      public void setCameraRotationType(rtc.webrtc.CameraCapturer.CameraRotationType cameraRotationType)
      设置相机自适应旋转角度的类型:跟随设备的横竖屏方向旋转 —— FOLLOW_DEVICE_ROTATION,跟随界面显示的横竖屏方向旋转 —— FOLLOW_SCREEN_ROTATION
      参数:
      cameraRotationType - 旋转类型
    • setCameraOrientationOffset

      public void setCameraOrientationOffset(int orientation)
      设置相机偏移角度
    • isEnableTexture

      public static boolean isEnableTexture()
    • enableTexture

      public static void enableTexture(boolean enableTexture)
    • isEnableCamera2API

      public static boolean isEnableCamera2API()
      是否优先使用Camera2接口
      返回:
    • enableCamera2API

      public static void enableCamera2API(boolean enable)
      设置是否使用Camera2接口操作摄像头
      参数:
      enable - 是否使用Camera2
    • setChangeCaptureFormatListener

      public void setChangeCaptureFormatListener(MVideo.ChangeCaptureFormatListener listener)
    • setPublishKeepAliveTime

      public void setPublishKeepAliveTime(int keepAliveTime)
      设置当前视频流推送的保活时长(单位为毫秒)
      参数:
      keepAliveTime - 保活时长 (单位为毫秒)。