OMCS 开发手册之 Android SDK 说明

      (OMCS android SDK 目前版本提供的功能有:语音、视频(摄像头)。) 

  如果您已经了解了OMCS语音视频框架PC版本的使用方法,那么上手Android版本的SDK是非常简单的。在本文中,我们将安卓SDK中重要的API列出来加以说明,很多重复性的内容就不再一一赘述了。

一. 主要API

    /**
     * 与多媒体服务器建立连接,并初始化本地多媒体管理器。
     * 如果与服务器连接失败,将抛出网络异常。
     * @param userID 当前登陆的用户ID。
     * @param password 当前登录的用户的密码。
     * @param serverIP OMCS服务器IP
     * @param serverPort OMCS服务器端口
     * @param context
     */
    RespLogon initialize(String userID,String password, String serverIP, int serverPort,Context context) throws InterruptedException;


    /**本地相机打开后回调接口
     * @param _callback
     * @param otherSurfaceHolder 本地视频呈现容器
     */
    void initCamera(CameraManager.CamOpenOverCallback _callback, SurfaceHolder otherSurfaceHolder);
/** * 主动断开来访者guest到本地多媒体设备的连接。 * @param deviceType 设备类型 * @param notifyGuest 是否通知对方。如果通知对方,对方的连接器将触发Disconnected事件。 */ void disconnectGuest(MultimediaDeviceType deviceType ,boolean notifyGuest); /** * 主动断开与Owner多媒体设备之间的连接。 * @param deviceType 设备类型 */ void disconnectOwner(MultimediaDeviceType deviceType); /**连接目标者硬件设备 * @param deviceType 设备类型 * @param ownerID 目标用户ID */ void beginConnect(MultimediaDeviceType deviceType,String ownerID); /** * 查询本地的某设备是否正在工作? * @param deviceType 设备类型 * @return 工作中? */ boolean deviceIsWorking(MultimediaDeviceType deviceType); void setOnConnectionInterruptedListener(MultimediaConnectorEventListener listener); /**系统标志 * @return */ String getSystemToken(); void setSystemToken(String token); /**当前登录用户的ID。 * @return */ String getCurrentUserID(); /**使用的麦克风的索引 * @return */ int getMicrophoneDeviceIndex(); /**要使用的麦克风的索引。必须在初始化前设置才有效。 * @param index */ void setMicrophoneDeviceIndex(int index); /**要使用的扬声器的索引 * @return */ int getSpeakerIndex(); /** * 要使用的扬声器的索引。必须在初始化前设置才有效。 */ void setSpeakerIndex(int index); /**获取哪个摄像头 * @return */ int getCameraDeviceIndex(); /** * @param index 0-后 1-前 */ void setCameraDeviceIndex(int index); /**摄像头采集视频的大小。 * @return */ Camera.Size GetCameraVideoSize(); /**获取对方摄像头分辨率宽高比例 * @return */ float getOwnerVideoRate(); /**摄像头采集视频的大小。默认为手机最低分辨率。 * 如果设置的参数不匹配,默认为手机最低分辨率。 * @param rate 宽高比例 * @param minWidth 最低宽度 */ void setCameraVideoSize(float rate, int minWidth); /** 是否将摄像头集到的视频输出给Guest。(必须在初始化完成之后设置才有效) 如果为true,表示输出;否则,表示将采集到的视频数据丢弃,不发送给guest。默认值为true。 * @param isOutput */ void setOutputVideo(boolean isOutput); /**本地桌面的编码质量。取值0~31,默认值5。取值越小,越清晰。 * @param quality */ void setCameraEncodeQuality(int quality); /**在广播帧的时候,是否允许丢弃帧。必须在初始化前设置才有效。 * @param isAllow */ void setAllowDiscardFrameWhenBroadcast(boolean isAllow);

二. 关键方法说明

(1)CamOpenOverCallback 接口

          采集视频的activity需实现CameraManager.CamOpenOverCallback接口,当guest连接本地摄像头时此回调方法会被调用。

          在回调方法里,需先实例化一个SurfaceHolder(用以呈现本地图像),然后调用 CameraManager.getInstance().startPreview。

(2)initCamera

          摄像头开始采集数据后的回调方法,在回调方法里需调用 CameraManager.getInstance().startPreview,否则无法从摄像头获取视频数据。
         第二个参数为null时表示无需显示对方视频。(必须在initialize之前调用)

(3)setCameraVideoSize

          设置摄像头采集视频的大小。默认为手机最低分辨率。如果设置的参数不匹配,默认为手机最低分辨率。(必须在initialize之前调用)

(4)setCameraEncodeQuality

          获取到摄像头采集数据之后需要压缩,此参数表示压缩时的编码质量。取值0~31,默认值5。取值越小,越清晰。(必须在initialize之前调用)

(5)setCameraDeviceIndex

          默认使用后置摄像头拍摄,调用此方法可变换摄像头采集数据,可在运行时修改。
(6)getOwnerVideoRate

          当连接对方摄像头成功后,可通过此方法来获取对方摄像头采集分辨率的宽高比,可用于等比拉伸对方发送过来的视频尺寸 

三. API使用流程

1. 设置摄像头,如下面的示例代码:

   (1)MultimediaManager.getInstance().initCamera(MainActivity.this, ownerView.getHolder());

  (2)MultimediaManager.getInstance().setCameraVideoSize(800f / 480f, 800);

  (3)MultimediaManager.getInstance().setCameraEncodeQuality(5); 

2. 调用initialize方法,初始化并登录到OMCS服务器。

3. 调用beginConnect方法,连接到目标多媒体设备。

四. Demo及下载

      我们为OMCS入门Demo(PC版)增加了一个简单的Android客户端,可与PC进行视频聊天,其运行效果如下所示:

      登录:                                                                   连接对方:                                                       视频对话: 

             

下载:

(1)OMCS入门Demo源码(PC版) (与PC版的Demo公用同一个服务端)

(2)Android Demo apk  & Source code

 

下一篇:OMCS FAQ -- OMCS 常见问题解答

上一篇:OMCS 开发手册(11) -- 深入摄像头、麦克风、扬声器

--------------------------------------------------------------------------------------------------------------------  

下载免费版本的OMCS以及 demo源码

阅读 更多OMCS开发手册系列文章

Q Q:168757008

官网: www.oraycn.com

导航

首页

官方网站

立即咨询 

站内搜索

ESFramework 通信框架

详细说明

SDK下载

ESFramework FAQ

版本变更记录

OMCS 语音视频框架

详细说明

SDK下载

OMCS FAQ

版本变更记录

OrayTalk 企业即时通讯系统

详细说明

客户端下载

傲瑞实用组件

SDK下载

NPush 消息推送组件

StriveEngine 轻量级的通信引擎

MFile 语音视频录制组件

MCapture 语音视频采集组件

MPlayer 语音视频播放组件

OAUS 自动升级系统

傲瑞组件 FAQ

授权

授权流程

产品授权说明

产品选购指南

授权SDK使用说明

其它

SDK使用技巧

联系我们

电话:027-87638960

Q Q:168757008

邮件:master@oraycn.com