使用SDK接口集成通话功能.pdf

使用SDK接口集成通话功能

使使用用 SDK 接接口口集集成成通通话话功功能能 - Android 本文档将要说明的是直接使用业务接口和设备控制接口实现音视 通话功能。相较于 《使用界面控件集成通话功能》,该方法更为复杂,同时也 提供更多的灵活性。 简简介介 音视 通话是 JusTalk Cloud 提供的一个基本业务,提供终端间一对一的音 或者视 通话。该部分功能主要涉及到以下几个接口类: MtcCall:通话业务控制接口 MtcCallConstants:通话业务常量定义 MtcMdm:多设备管理模块 ZmfAudio:控制音 设备接口 ZmfVideo:控制视 设备接口 将音视 设备控制的接口类和通话业务控制接口分离的原因是为了更好的适应手机 APP 的复杂应用场景。例如,在某些场景下 APP 希望暂停通 话并释放音视 设备资源,过一段时间之后再次回到通话业务中。 多设备管理模块是为了在不同的 Android 设备上提供最佳的通话体验而设计的模块,其会根据不同的设备型号、系统版本等给出最优的参数配 置。 监监听听通通话话事事件件 监听和通话相关的事件 (如何设置监听事件请参考 基本交互说明 ),包括: MtcCallConstants.MtcCallIncomingNotification:通话呼入事件 MtcCallConstants.MtcCallOutgoingNotification:通话呼出事件 MtcCallConstants.MtcCallAlertedNotification:被叫振铃事件 MtcCallConstants.MtcCallConnectingNotification:通话已建立事件 MtcCallConstants.MtcCallTalkingNotification:通话媒体已接通事件 MtcCallConstants.MtcCallDidTermNotification:通话结束事件,主动挂断 MtcCallConstants.MtcCallTermedNotification:通话结束事件,对方挂断 通话的接口调用和事件通知的序列图如下: 拨拨打打通通话话 主叫 UI 调用以下接口发起呼叫。接口返回值为 呼呼叫叫ID ,如果值为 MtcConstants.INVALIDID 表示接口调用失败。 MtcCall.Mtc_Call(String pcUri long zCookie boolean bAudio boolean bVideo) pcUri:对方帐号 U I,可以通过 MtcUser.Mtc_ UserFormUri 构造 zCookie:UI 自定义值 bAudio:通话是否包含音 bVideo:通话是否包含视 呼叫代码类似如下: public void mtcCall(String number boolean isVideo) { mVideo = isVideo ? VIDEO_CAMERA_FRONT : VIDEO_VOICE_ONLY; mNumber = number; // 设置通话音 模式 setCallMode(); // 设置 Speaker setupSpeaker(); // 调用接口呼出 mCallId = MtcCall.Mtc_Call(mNumber 0 true isVideo()); // 设置视 设备 if (isVideo()) { videoCaptureStart(); MtcCall.Mtc_CallCameraAttach(mCallId ZmfVideo .CaptureFront); } } 主叫 UI 调用 ZmfAudio 接口打开音 设备,类似如下代码: private void setCallMode() { if (mCallMode) return; mCallMode = true; // 通过 MtcMdm 获取最优语音模式设置 int mode = MtcMdm .Mtc_MdmGetAndroidAudioMode(); if (mode != mAudioMa

文档评论(0)

1亿VIP精品文档

相关文档