public class JMRtcClient
extends java.lang.Object
Modifier and Type | Class and Description |
---|---|
static class |
JMRtcClient.DisconnectReason |
static class |
JMRtcClient.VideoProfile |
Modifier and Type | Method and Description |
---|---|
void |
accept(BasicCallback callback)
接受通话邀请。
此接口只能在收到通话邀请、sdk回调了
JMRtcListener.onCallInviteReceived(JMRtcSession) 之后,才能发起调用。 |
void |
call(java.util.List<UserInfo> invitedUsers,
JMSignalingMessage.MediaType mediaType,
BasicCallback callback)
发起通话邀请。
任何通话的发起都应该以此接口开始。
|
boolean |
enableAudio(boolean isEnable)
设置本地音频输出开关。只在视频或语音通话连接建立之后调用有效。
|
boolean |
enableSpeakerphone(boolean isEnable)
设置使用本地外置扬声器开关。只在视频或语音通话连接建立之后调用有效。
|
boolean |
enableVideo(boolean isEnable)
设置本地视频输出开关。只在视频通话连接建立之后调用有效。
|
static JMRtcClient |
getInstance() |
JMRtcSession |
getSession()
获取当前通话session对象。
|
JMRtcClient.VideoProfile |
getVideoProfile()
获取当前设置的视频编码属性
|
void |
hangup(BasicCallback callback)
通话挂断。
此接口可以在邀请阶段以及通话阶段由任意通话中用户发起
|
void |
initEngine(JMRtcListener listener)
初始化音视频引擎。
在使用其他接口之前,必须先调用此接口初始化引擎。
|
void |
invite(java.util.List<UserInfo> invitedUsers,
BasicCallback callback)
向其他用户发起邀请,加入通话。
此接口只能在通话建立、sdk回调了
JMRtcListener.onCallConnected(JMRtcSession, SurfaceView) 接口之后,才能发起调用。 |
void |
onEvent(JMRtcNotificationEvent notificationEvent) |
void |
onEvent(LoginStateChangeEvent loginStateChangeEvent) |
void |
refuse(BasicCallback callback)
拒绝通话邀请。
此接口只能在收到通话邀请、sdk回调了
JMRtcListener.onCallInviteReceived(JMRtcSession) 之后,才能发起调用。 |
void |
reinitEngine()
重新初始化音视频引擎。
当引擎因为权限或者其他原因初始化失败,状态停留在uninit时,可以通过此接口尝试重新初始化引擎。
|
void |
releaseEngine()
释放音视频引擎。
释放之后如果需要再次使用音视频服务,需要重新调用
initEngine(JMRtcListener) 来重新初始化音视频引擎。 |
void |
setVideoProfile(JMRtcClient.VideoProfile videoProfile)
设置视频输出的编码属性
|
boolean |
switchCamera()
切换前置/后置摄像头。只在视频或语音通话连接建立之后调用有效。
|
public static JMRtcClient getInstance()
public void initEngine(JMRtcListener listener)
调用此接口,sdk背后会检查初始化所需要的权限。如果必要权限没有获取到,则会触发JMRtcListener.onPermissionNotGranted(String[])
回调通知上层。
listener
- 音视频相关事件回调监听类public void reinitEngine()
public void releaseEngine()
initEngine(JMRtcListener)
来重新初始化音视频引擎。public boolean enableVideo(boolean isEnable)
视频通话中默认打开。音频通话中此接口无效。
isEnable
- true - 开启视频输出, false - 关闭视频输出public boolean enableAudio(boolean isEnable)
默认打开。
isEnable
- true - 开启音频输出, false - 关闭音频输出public boolean enableSpeakerphone(boolean isEnable)
默认打开
isEnable
- true - 使用外置扬声器, false - 不使用外置扬声器public boolean switchCamera()
默认使用前置摄像头
public void setVideoProfile(JMRtcClient.VideoProfile videoProfile)
视频通话期间调用此接口设置的属性将在下次视频通话中生效
videoProfile
- 视频编码属性public JMRtcClient.VideoProfile getVideoProfile()
public JMRtcSession getSession()
JMRtcSession
对象,如果当前不在任何会话中,则返回null。public void call(java.util.List<UserInfo> invitedUsers, JMSignalingMessage.MediaType mediaType, BasicCallback callback)
邀请发出之后,触发JMRtcListener.onCallOutgoing(JMRtcSession)
回调,通知上层正在发起通话。之后进入outgoing状态。
被邀请方收到邀请时,触发JMRtcListener.onCallInviteReceived(JMRtcSession)
回调,通知上层收到邀请。
invitedUsers
- 被邀请的用户的UserInfo集合mediaType
- 通话类型callback
- 结果回调public void invite(java.util.List<UserInfo> invitedUsers, BasicCallback callback)
JMRtcListener.onCallConnected(JMRtcSession, SurfaceView)
接口之后,才能发起调用。
邀请发出之后,当前通话中的其他用户会触发JMRtcListener.onCallOtherUserInvited(UserInfo, List, JMRtcSession)
回调,通知上层有其他人被邀请加入通话
被邀请方收到邀请时,触发JMRtcListener.onCallInviteReceived(JMRtcSession)
回调,通知上层收到邀请。
invitedUsers
- 被邀请的用户的UserInfo集合callback
- 结果回调public void accept(BasicCallback callback)
JMRtcListener.onCallInviteReceived(JMRtcSession)
之后,才能发起调用。
成功调用后,双方都会触发JMRtcListener.onCallConnected(JMRtcSession, SurfaceView)
通知上层通话连接已建立。
并且sdk会通过JMRtcListener.onCallMemberJoin(UserInfo, SurfaceView)
上报当前已经在通话频道内的用户。
callback
- 结果回调public void refuse(BasicCallback callback)
JMRtcListener.onCallInviteReceived(JMRtcSession)
之后,才能发起调用。
成功调用后,被邀请方会触发JMRtcListener#onCallDisconnected(DisconnectReason)
通知上层连接断开,通话已结束。
邀请方触发JMRtcListener#onCallMemberOffline(UserInfo, DisconnectReason)
通知上层有用户离线,离线原因refuse(BasicCallback)
callback
- 结果回调public void hangup(BasicCallback callback)
成功调用后,调用者会触发JMRtcListener#onCallDisconnected(DisconnectReason)
通知上层连接断开,通话已结束。
其他用户触发JMRtcListener#onCallMemberOffline(UserInfo, DisconnectReason)
通知上层有用户离线,离线原因hangup(BasicCallback)
callback
- 结果回调public void onEvent(JMRtcNotificationEvent notificationEvent)
public void onEvent(LoginStateChangeEvent loginStateChangeEvent)