|
abstract boolean | enableRtc () |
|
abstract boolean | enableRtc (int osType) |
|
abstract boolean | enableRtc (AVChatServerAddresses serverAddresses) |
|
abstract boolean | enableRtc (int osType, boolean lowEnergy) |
|
abstract boolean | enableRtc (int osType, boolean lowEnergy, AVChatServerAddresses address) |
|
abstract boolean | enableRtc (AVChatEngineConfig config) |
|
abstract boolean | disableRtc () |
|
abstract boolean | enableVideo () |
|
abstract boolean | disableVideo () |
|
abstract void | call2 (String account, AVChatType callType, AVChatNotifyOption notifyOption, AVChatCallback< AVChatData > callback) |
|
abstract void | accept2 (long chatId, AVChatCallback< Void > callback) |
|
abstract void | hangUp2 (long chatId, AVChatCallback< Void > callback) |
|
abstract void | createRoom (String roomName, String extraMessage, AVChatCallback< AVChatChannelInfo > callback) |
|
abstract void | createRoom (String roomName, String extraMessage, List< AVChatLiveTaskConfig > liveConfigList, AVChatCallback< AVChatChannelInfo > callback) |
|
abstract void | joinRoom2 (String roomName, final AVChatType callType, AVChatCallback< AVChatData > callback) |
|
abstract void | leaveRoom2 (String roomName, AVChatCallback< Void > callback) |
|
abstract void | sendControlCommand (long chatId, byte controlCommand, AVChatCallback< Void > callback) |
|
abstract long | getCurrentChatId () |
|
abstract Long | getUidByAccount (String account) |
| 通过account 获取 uid 更多...
|
|
abstract boolean | setChannelProfile (int profile) |
|
abstract boolean | setVideoQualityStrategy (int strategy) |
|
abstract boolean | setupVideoCapturer (AVChatVideoCapturer videoCapturer) |
|
abstract boolean | startVideoPreview () |
|
abstract boolean | stopVideoPreview () |
|
abstract void | setParameters (AVChatParameters params) throws IllegalArgumentException |
| 设置参数。 参数类型参考 AVChatParameters.Key#type()。 参数可设置时机参考 AVChatParameters.Key#runtime(),支持 更多...
|
|
abstract< T > void | setParameter (AVChatParameters.Key< T > key, T value) throws IllegalArgumentException |
| 设置参数。 参数类型参考 AVChatParameters.Key#type()。 参数可设置时机参考 AVChatParameters.Key#runtime(),支持 更多...
|
|
abstract AVChatParameters | getParameters (AVChatParameters params) |
| 获取参数。 参数类型参考 AVChatParameters.Key#type()。 参数可设置时机参考 AVChatParameters.Key#runtime(),支持 更多...
|
|
abstract< T > T | getParameter (AVChatParameters.Key< T > key) |
| 获取参数。 参数类型参考 AVChatParameters.Key#type()。 参数可设置时机参考 AVChatParameters.Key#runtime(),支持 更多...
|
|
abstract boolean | isLocalAudioMuted () |
| 本地语音是否静音. 更多...
|
|
abstract boolean | isLocalVideoMuted () |
| 是否发送本地视频流数据. 更多...
|
|
abstract void | muteLocalAudio (boolean muted) |
| 开/关本地音频. 更多...
|
|
abstract void | muteLocalVideo (boolean muted) |
| 开/关本地视频流的发送. 更多...
|
|
abstract void | setSpeaker (boolean enable) |
| 是否使用扬声器 更多...
|
|
abstract boolean | speakerEnabled () |
| 扬声器是否打开 更多...
|
|
abstract void | setMicrophoneMute (boolean mute) |
| 设置麦克风是否静音 更多...
|
|
abstract boolean | isMicrophoneMute () |
| 检查麦克风是否静音 更多...
|
|
abstract void | muteRemoteAudio (String account, boolean muted) |
| 设置是否允许播放远端用户数据. 更多...
|
|
abstract void | muteAllRemoteAudio (boolean muted) |
| 设置是否允许播放远端用户数据. 更多...
|
|
abstract void | selectAudioDevice (int audioDevice) |
| 设置音频输出设备 可选设备列表来自此回调 AVChatStateObserverLite#onAudioDeviceChanged 更多...
|
|
abstract void | muteRemoteVideo (String account, boolean muted) |
| 设置是否允许播放远端用户数据. 更多...
|
|
abstract boolean | isRemoteAudioMuted (String account) |
| 当前是否关闭用户语音数据播放. 更多...
|
|
abstract boolean | isAllRemoteAudioMuted () |
| 当前是否关闭用户语音数据播放. 更多...
|
|
abstract boolean | isRemoteVideoMuted (String account) |
| 当前是否关闭用户视频数据播放. 更多...
|
|
abstract boolean | setupLocalVideoRender (IVideoRender render, boolean mirror, int scalingType) |
| 设置本地用户视频画布。
如果需要预览,设置自己视频画面的画布需要在call或者joinRoom的onSuccess回调中调用. 更多...
|
|
abstract boolean | setupRemoteVideoRender (String account, IVideoRender render, boolean mirror, int scalingType) |
| 设置远端用户视频画布。
设置远端用户视频画面的画布需要在 AVChatStateObserver::onUserJoined 后调用. 更多...
|
|
abstract void | observeIncomingCall (Observer< AVChatData > observer, boolean register) |
| 注册/注销网络来电. 更多...
|
|
abstract void | observeAVChatState (AVChatStateObserverLite observer, boolean register) |
| 注册/注销网络通话状态通知 网络通话开始后,所有的通话状态通过 AVChatStateObserverLite 进行通知。 更多...
|
|
abstract void | observeCalleeAckNotification (Observer< AVChatCalleeAckEvent > observer, boolean register) |
| 注册/注销网络通话被叫方的响应(接听、拒绝、忙) 更多...
|
|
abstract void | observeOnlineAckNotification (Observer< AVChatOnlineAckEvent > observer, boolean register) |
| 注册/注销同时在线的其他端对主叫方的响应 更多...
|
|
abstract void | observeHangUpNotification (Observer< AVChatCommonEvent > observer, boolean register) |
| 注册/注销网络通话对方挂断的通知 更多...
|
|
abstract void | observeControlNotification (Observer< AVChatControlEvent > observer, boolean register) |
| 注册/注销网络通话控制消息(音视频模式切换通知) 更多...
|
|
abstract void | rate (int rate, String description) |
| 当前通话打分 更多...
|
|
音视频通话统一接口,所有接口需主线程调用。
网络通话需要
及以上的系统版本。通话前请确保已经拥有了所需的各种权限,获取确实权限参考 AVChatManager#checkPermission(Context). 目前仅支持同时进行一通会话,如果存在多个网络通话,需要选择挂断优先级低的会话。 如果存在系统电话,或者有系统电话接入,建议挂断网络通话。
关于网络通话的呼出和呼入超时的设置,需要生层自己实现响应的定时器,SDK内部的超时已经被废弃,未来会移除。
网络通话目前分为两大部分,双人通话和多人通话。
所有类型音视频通话需要监听会话状态: AVChatManagerLite#observeAVChatState(AVChatStateObserverLite, boolean)
双人通话,包含了信令相关操作和音视频操作两部分。信令包括了会话的发起,接听,拒绝,挂断等,重要接口有:
双人会话需要额外注册相关监听器:
多人通话,互动直播属于此模式。 此模式不包含所有的信令操作,需要客户上层自定义实现, 此模式仅仅包含了房间的加入和离开,以及音视频操作。重要接口有:
互动直播,多人会议视频通话流程示例:
-
主播或者管理员创建房间 AVChatManagerLite#createRoom(String, String, AVChatCallback)。 创建房间仅仅是在服务器预留一个房间名,房间未使用时有效期为30天,使用后的房间在所有用户退出后回收。
-
注册音视频模块监听 AVChatManagerLite#observeAVChatState(AVChatStateObserverLite, boolean)。
-
开启音视频引擎, AVChatManagerLite#enableRtc()。
-
设置通话场景, 如没有特殊需求不用设置 AVChatManagerLite#setChannelProfile(int) 。
-
设置互动直播模式,设置互动直播推流地址 [仅限互动直播] AVChatParameters#KEY_SESSION_LIVE_MODE, AVChatParameters#KEY_SESSION_LIVE_URL。
-
打开视频模块 AVChatManagerLite#enableVideo()。
-
设置视频采集模块 AVChatManagerLite#setupVideoCapturer(AVChatVideoCapturer)。
-
设置本地预览画布 AVChatManagerLite#setupLocalVideoRender(IVideoRender, boolean, int) 。
-
设置视频通话可选参数[可以不设置] AVChatManagerLite#setParameter(AVChatParameters.Key, Object), AVChatManager#setParameters(AVChatParameters)。
-
打开本地视频预览 AVChatManagerLite#startVideoPreview()。
-
加入房间 AVChatManagerLite#joinRoom2(String, AVChatType, AVChatCallback)。
-
开始多人会议或者互动直播,以及各种音视频操作。
-
关闭本地预览 AVChatManagerLite#stopVideoPreview() 。
-
关闭视频模块 AVChatManagerLite#disableVideo() ()} 。
-
离开会话 AVChatManagerLite#leaveRoom2(String, AVChatCallback)。
-
关闭音视频引擎, AVChatManagerLite#disableRtc()。
双人视频通话流程示例:
-
注册本地各种监听器 AVChatManagerLite#observeAVChatState(AVChatStateObserverLite, boolean) 等等。
-
开启音视频引擎, AVChatManagerLite#enableRtc()。
-
设置通话场景, 如没有特殊需求不用设置 AVChatManagerLite#setChannelProfile(int) 。
-
打开视频模块 AVChatManagerLite#enableVideo()。
-
设置视频采集模块 AVChatManagerLite#setupVideoCapturer(AVChatVideoCapturer)。
-
设置本地预览画布 AVChatManagerLite#setupLocalVideoRender(IVideoRender, boolean, int)。
-
设置视频通话可选参数[可以不设置] AVChatManagerLite#setParameter(AVChatParameters.Key, Object), AVChatManager#setParameters(AVChatParameters)。
-
打开本地视频预览 AVChatManagerLite#startVideoPreview()。
-
呼叫或者接听通话 AVChatManagerLite#call2(String, AVChatType, AVChatNotifyOption, AVChatCallback), AVChatManager#accept2(long, AVChatCallback)。
-
等待对方进入开始通话, 各种音视频控制。
-
关闭本地预览 AVChatManagerLite#stopVideoPreview()。
-
关闭视频模块 AVChatManagerLite#disableVideo() ()} 。
-
离开挂断会话 AVChatManagerLite#hangUp2(long, AVChatCallback)。
-
关闭音视频引擎, AVChatManagerLite#disableRtc()。
在文件 AVChatManagerLite.java 第 118 行定义.
abstract void com.netease.nimlib.sdk.avchat.AVChatManagerLite.createRoom |
( |
String |
roomName, |
|
|
String |
extraMessage, |
|
|
AVChatCallback< AVChatChannelInfo > |
callback |
|
) |
| |
|
abstract |
创建多人通话房间
如果你需要使用多人会议和互动直播相关功能, 需要通过此接口创建一个多人房间, 然后通过 AVChatManagerLite#joinRoom2(String, AVChatType, AVChatCallback) 来加入房间。 房间创建成功后会一直保留, 尽量即时使用, 目前有效期为一个月, 超过有效期后再次加入房间会失败。 如果一个房间已经被创建, 那么再次创建时会返回失败, 提示房间已经存在。
房间创建时机不受音视频通话流程限制, 你可以在任意时间预定自己的多人会议房间。创建成功后即可通知所有会议参与者加入此房间, 你将会在 AVChatStateObserverLite#onUserJoined(String) 中陆续收到不同的用户加入会议。
- 参数
-
roomName | 房间名 |
extraMessage | 自定义的扩展消息, 其它加入房间的用户都会收到 |
callback | 创建房间回调接口 |
- 参见
- AVChatResCode::ERROR_CREATE_ROOM_ALREADY_EXIST
-
AVChatManagerLite::createRoom(String, String, AVChatCallback)
-
AVChatManagerLite::joinRoom2(String, AVChatType, AVChatCallback)
-
AVChatManagerLite::leaveRoom2(String, AVChatCallback)
创建多人通话房间并设置直播推流相关的参数
如果你需要使用多人会议和互动直播相关功能, 需要通过此接口创建一个多人房间, 然后通过 AVChatManagerLite#joinRoom2(String, AVChatType, AVChatCallback) 来加入房间。 房间创建成功后会一直保留, 尽量即时使用, 目前有效期为一个月, 超过有效期后再次加入房间会失败。 如果一个房间已经被创建, 那么再次创建时会返回失败, 提示房间已经存在。
房间创建时机不受音视频通话流程限制, 你可以在任意时间预定自己的多人会议房间。创建成功后即可通知所有会议参与者加入此房间, 你将会在 AVChatStateObserverLite#onUserJoined(String) 中陆续收到不同的用户加入会议。
- 参数
-
roomName | 房间名 |
extraMessage | 自定义的扩展消息, 其它加入房间的用户都会收到 |
liveConfigList | 直播推流相关的配置,可以同时配置多种Config,推多路不同的流,如果不需要推流,填 null 即可 。
注意: 设置这个参数跟自己是否推流无关 , 如果需要推流,请打开AVChatParameters#KEY_SESSION_LIVE_MODE 开关 |
callback | 创建房间回调接口 |
- 参见
- AVChatLiveTaskConfig
-
AVChatParameters::KEY_SESSION_LIVE_MODE
-
AVChatResCode::ERROR_CREATE_ROOM_ALREADY_EXIST
-
AVChatManagerLite::createRoom(String, String, List, AVChatCallback)
-
AVChatManagerLite::joinRoom2(String, AVChatType, AVChatCallback)
-
AVChatManagerLite::leaveRoom2(String, AVChatCallback)
abstract void com.netease.nimlib.sdk.avchat.AVChatManagerLite.sendControlCommand |
( |
long |
chatId, |
|
|
byte |
controlCommand, |
|
|
AVChatCallback< Void > |
callback |
|
) |
| |
|
abstract |