NIMSDK-AOS  9.16.0
Public 成员函数 | 静态 Public 成员函数 | 所有成员列表
com.netease.nimlib.sdk.avchat.AVChatManagerLite类 参考abstract
类 com.netease.nimlib.sdk.avchat.AVChatManagerLite 继承关系图:
com.netease.nimlib.sdk.avchat.AVChatManager

Public 成员函数

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)
 当前通话打分 更多...
 

静态 Public 成员函数

static AVChatManagerLite getInstance ()
 

详细描述

音视频通话统一接口,所有接口需主线程调用。

网络通话需要

Android JELLY_BEAN

及以上的系统版本。通话前请确保已经拥有了所需的各种权限,获取确实权限参考 AVChatManager#checkPermission(Context). 目前仅支持同时进行一通会话,如果存在多个网络通话,需要选择挂断优先级低的会话。 如果存在系统电话,或者有系统电话接入,建议挂断网络通话。

关于网络通话的呼出和呼入超时的设置,需要生层自己实现响应的定时器,SDK内部的超时已经被废弃,未来会移除。

网络通话目前分为两大部分,双人通话和多人通话。

所有类型音视频通话需要监听会话状态: AVChatManagerLite#observeAVChatState(AVChatStateObserverLite, boolean)

双人通话,包含了信令相关操作和音视频操作两部分。信令包括了会话的发起,接听,拒绝,挂断等,重要接口有:

双人会话需要额外注册相关监听器:

多人通话,互动直播属于此模式。 此模式不包含所有的信令操作,需要客户上层自定义实现, 此模式仅仅包含了房间的加入和离开,以及音视频操作。重要接口有:

互动直播,多人会议视频通话流程示例:

  1. 主播或者管理员创建房间 AVChatManagerLite#createRoom(String, String, AVChatCallback)。 创建房间仅仅是在服务器预留一个房间名,房间未使用时有效期为30天,使用后的房间在所有用户退出后回收。
  2. 注册音视频模块监听 AVChatManagerLite#observeAVChatState(AVChatStateObserverLite, boolean)
  3. 开启音视频引擎, AVChatManagerLite#enableRtc()
  4. 设置通话场景, 如没有特殊需求不用设置 AVChatManagerLite#setChannelProfile(int)
  5. 设置互动直播模式,设置互动直播推流地址 [仅限互动直播] AVChatParameters#KEY_SESSION_LIVE_MODE, AVChatParameters#KEY_SESSION_LIVE_URL
  6. 打开视频模块 AVChatManagerLite#enableVideo()
  7. 设置视频采集模块 AVChatManagerLite#setupVideoCapturer(AVChatVideoCapturer)
  8. 设置本地预览画布 AVChatManagerLite#setupLocalVideoRender(IVideoRender, boolean, int)
  9. 设置视频通话可选参数[可以不设置] AVChatManagerLite#setParameter(AVChatParameters.Key, Object), AVChatManager#setParameters(AVChatParameters)
  10. 打开本地视频预览 AVChatManagerLite#startVideoPreview()
  11. 加入房间 AVChatManagerLite#joinRoom2(String, AVChatType, AVChatCallback)
  12. 开始多人会议或者互动直播,以及各种音视频操作。
  13. 关闭本地预览 AVChatManagerLite#stopVideoPreview()
  14. 关闭视频模块 AVChatManagerLite#disableVideo() ()} 。
  15. 离开会话 AVChatManagerLite#leaveRoom2(String, AVChatCallback)
  16. 关闭音视频引擎, AVChatManagerLite#disableRtc()

双人视频通话流程示例:

  1. 注册本地各种监听器 AVChatManagerLite#observeAVChatState(AVChatStateObserverLite, boolean) 等等。
  2. 开启音视频引擎, AVChatManagerLite#enableRtc()
  3. 设置通话场景, 如没有特殊需求不用设置 AVChatManagerLite#setChannelProfile(int)
  4. 打开视频模块 AVChatManagerLite#enableVideo()
  5. 设置视频采集模块 AVChatManagerLite#setupVideoCapturer(AVChatVideoCapturer)
  6. 设置本地预览画布 AVChatManagerLite#setupLocalVideoRender(IVideoRender, boolean, int)
  7. 设置视频通话可选参数[可以不设置] AVChatManagerLite#setParameter(AVChatParameters.Key, Object), AVChatManager#setParameters(AVChatParameters)
  8. 打开本地视频预览 AVChatManagerLite#startVideoPreview()
  9. 呼叫或者接听通话 AVChatManagerLite#call2(String, AVChatType, AVChatNotifyOption, AVChatCallback), AVChatManager#accept2(long, AVChatCallback)
  10. 等待对方进入开始通话, 各种音视频控制。
  11. 关闭本地预览 AVChatManagerLite#stopVideoPreview()
  12. 关闭视频模块 AVChatManagerLite#disableVideo() ()} 。
  13. 离开挂断会话 AVChatManagerLite#hangUp2(long, AVChatCallback)
  14. 关闭音视频引擎, AVChatManagerLite#disableRtc()

在文件 AVChatManagerLite.java118 行定义.

成员函数说明

◆ accept2()

abstract void com.netease.nimlib.sdk.avchat.AVChatManagerLite.accept2 ( long  chatId,
AVChatCallback< Void >  callback 
)
abstract

信令层接听双人通话

在程序启动时需要注册 AVChatManagerLite#observeIncomingCall(Observer, boolean), 这样在有其他用户 呼叫时将会收到来电通知, 收到来电通知后一般会有相应的界面展示, 如果需要接听电话那个需要调用此接口, 如果需要拒绝通话请调用 AVChatManagerLite#hangUp2(long, AVChatCallback)

在成功接听会话后, 引擎就会自动去连接预先分配好的媒体服务器。 连接媒体服务器的结果将会在 AVChatStateObserverLite#onJoinedChannel(int, String, String, int) 中进行通知。

在调用信令层接听会话接口前需要先调用以下接口:

  1. 开启音视频引擎 AVChatManagerLite#enableRtc()
  2. 可选, 激活视频模块 AVChatManagerLite#enableVideo()
  3. 可选, 设置本地预览画布,AVChatManagerLite#setupLocalVideoRender(IVideoRender, boolean, int)
  4. 可选, 开启视频预览,AVChatManagerLite#startVideoPreview()
  5. 可选, 通话相关参数设置 AVChatManagerLite#setParameters(AVChatParameters)
参数
chatId会话ID
callback回调函数,返回接听后,本地音视频设备启动是否成功。 回调onSuccess表示成功;回调onFailed表示失败,错误码-1表示初始化引擎失败,需要重试。 注意:由于音视频引擎析构需要时间,请尽可能保持上一次通话挂断到本次电话接听时间间隔在2秒以上,否则有可能在接听时出现初始化引擎失败(code = -1)
参见
AVChatManagerLite::call2(String, AVChatType, AVChatNotifyOption, AVChatCallback)
AVChatManagerLite::hangUp2(long, AVChatCallback)

◆ call2()

abstract void com.netease.nimlib.sdk.avchat.AVChatManagerLite.call2 ( String  account,
AVChatType  callType,
AVChatNotifyOption  notifyOption,
AVChatCallback< AVChatData callback 
)
abstract

信令层发起双人通话

在信令层发起呼叫, 成功调用此接口后对方会收到相应的会话通知。 在呼叫过程中需要上层实现定时器, 当超过一定时间对方未接听时 需要 AVChatManagerLite#hangUp2(long, AVChatCallback) 挂断会话。

在发起会话时有几个比较重要可选字段:

在调用信令层发起通话接口前需要先调用以下接口:

  1. 开启音视频引擎 AVChatManagerLite#enableRtc()
  2. 可选, 激活视频模块 AVChatManagerLite#enableVideo()
  3. 可选, 设置本地预览画布,AVChatManagerLite#setupLocalVideoRender(IVideoRender, boolean, int)
  4. 可选, 开启视频预览,AVChatManagerLite#startVideoPreview()
  5. 可选, 通话相关参数设置 AVChatManagerLite#setParameters(AVChatParameters),
参数
account对方用户账号
callType通话类型:语音、视频
notifyOption可选通知参数
callback回调函数,返回 AVChatData
参见
AVChatManagerLite::accept2(long, AVChatCallback)
AVChatManagerLite::hangUp2(long, AVChatCallback)

◆ createRoom() [1/2]

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)

◆ createRoom() [2/2]

abstract void com.netease.nimlib.sdk.avchat.AVChatManagerLite.createRoom ( String  roomName,
String  extraMessage,
List< AVChatLiveTaskConfig liveConfigList,
AVChatCallback< AVChatChannelInfo callback 
)
abstract

创建多人通话房间并设置直播推流相关的参数

如果你需要使用多人会议和互动直播相关功能, 需要通过此接口创建一个多人房间, 然后通过 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)

◆ disableRtc()

abstract boolean com.netease.nimlib.sdk.avchat.AVChatManagerLite.disableRtc ( )
abstract

关闭音视频通话底层引擎

在通话结束后需要调用此接口关闭音视频通话引擎来释放资源。 关闭音视频引擎后后续所有的其他调用都会失败或者异常。

返回
true
方法调用成功,
false
方法调用失败
参见
AVChatManagerLite::enableRtc()

◆ disableVideo()

abstract boolean com.netease.nimlib.sdk.avchat.AVChatManagerLite.disableVideo ( )
abstract

关闭视频模块

关闭视频相关模块。 在通过过程中调用会让引擎切换到语音模式, 如果信令层需要通知对方,则通过 AVChatManagerLite#sendControlCommand(long, byte, AVChatCallback) 实现。

返回
true
方法调用成功,
false
方法调用失败
参见
AVChatManagerLite::enableVideo()

◆ enableRtc() [1/6]

abstract boolean com.netease.nimlib.sdk.avchat.AVChatManagerLite.enableRtc ( )
abstract

激活音视频通话底层引擎

在进行音视频通话前需要调用此接口来激活音视频通话引擎, 否则后续所有的接口调用会导致异常。如果方法调用成功, 后续需要调用 AVChatManagerLite#disableRtc() 来关闭音视频底层引擎, 否则会出现资源泄漏。

返回
true
方法s调用成功,
false
方法调用失败
参见
AVChatManagerLite::disableRtc()

◆ enableRtc() [2/6]

abstract boolean com.netease.nimlib.sdk.avchat.AVChatManagerLite.enableRtc ( int  osType)
abstract

激活音视频通话底层引擎

在进行音视频通话前需要调用此接口来激活音视频通话引擎, 否则后续所有的接口调用会导致异常。如果方法调用成功, 后续需要调用 AVChatManagerLite#disableRtc() 来关闭音视频底层引擎, 否则会出现资源泄漏。

参数
osTypeAVChatOSCategory
返回
true
方法调用成功,
false
方法调用失败
参见
AVChatManagerLite::disableRtc()
弃用:
推荐使用 AVChatManagerLite#enableRtc(AVChatEngineConfig)

◆ enableRtc() [3/6]

abstract boolean com.netease.nimlib.sdk.avchat.AVChatManagerLite.enableRtc ( AVChatServerAddresses  serverAddresses)
abstract

激活音视频通话底层引擎

在进行音视频通话前需要调用此接口来激活音视频通话引擎, 否则后续所有的接口调用会导致异常。如果方法调用成功, 后续需要调用 AVChatManagerLite#disableRtc() 来关闭音视频底层引擎, 否则会出现资源泄漏。

参数
serverAddresses私有化服务器地址
返回
true
方法调用成功,
false
方法调用失败
参见
AVChatManagerLite::disableRtc()
弃用:
推荐使用 AVChatManagerLite#enableRtc(AVChatEngineConfig)

◆ enableRtc() [4/6]

abstract boolean com.netease.nimlib.sdk.avchat.AVChatManagerLite.enableRtc ( int  osType,
boolean  lowEnergy 
)
abstract

激活音视频通话底层引擎

在进行音视频通话前需要调用此接口来激活音视频通话引擎, 否则后续所有的接口调用会导致异常。如果方法调用成功, 后续需要调用 AVChatManagerLite#disableRtc() 来关闭音视频底层引擎, 否则会出现资源泄漏。

参数
osTypeAVChatOSCategory
lowEnergy是否开启低功耗模式
返回
true
方法调用成功,
false
方法调用失败
参见
AVChatManagerLite::disableRtc()
弃用:
推荐使用 AVChatManagerLite#enableRtc(AVChatEngineConfig)

◆ enableRtc() [5/6]

abstract boolean com.netease.nimlib.sdk.avchat.AVChatManagerLite.enableRtc ( int  osType,
boolean  lowEnergy,
AVChatServerAddresses  address 
)
abstract

激活音视频通话底层引擎

在进行音视频通话前需要调用此接口来激活音视频通话引擎, 否则后续所有的接口调用会导致异常。如果方法调用成功, 后续需要调用 AVChatManagerLite#disableRtc() 来关闭音视频底层引擎, 否则会出现资源泄漏。

参数
osTypeAVChatOSCategory
lowEnergy是否开启低功耗模式
address私有化服务器地址
返回
true
方法调用成功,
false
方法调用失败
参见
AVChatManagerLite::disableRtc()
弃用:
推荐使用 AVChatManagerLite#enableRtc(AVChatEngineConfig)

◆ enableRtc() [6/6]

abstract boolean com.netease.nimlib.sdk.avchat.AVChatManagerLite.enableRtc ( AVChatEngineConfig  config)
abstract

激活音视频通话底层引擎

在进行音视频通话前需要调用此接口来激活音视频通话引擎, 否则后续所有的接口调用会导致异常。如果方法调用成功, 后续需要调用 AVChatManagerLite#disableRtc() 来关闭音视频底层引擎, 否则会出现资源泄漏。

参数
config启动引擎相关的配置,例如:osType 、lowEnergy 、serverAddresses 、encryptType 、encryptKey
参考 :AVChatEngineConfig.Builder
返回
true
方法调用成功,
false
方法调用失败
参见
AVChatManagerLite::disableRtc()

◆ enableVideo()

abstract boolean com.netease.nimlib.sdk.avchat.AVChatManagerLite.enableVideo ( )
abstract

激活视频模块

如果你通话过程中有视频相关内容, 那必须在视频相关接口调用前先激活视频模块。 通话结束前需要调用 AVChatManagerLite#disableVideo() 来关闭视频模块。 在通话过程中, 通过此接口可以实现引擎的音视频通话模式切换, 信令层可以通过使用 AVChatManagerLite#sendControlCommand(long, byte, AVChatCallback) 来通知 对方目前的会话模式切换。 默认情况下视频模块是处于非激活状态。

返回
true
方法调用成功,
false
方法调用失败
参见
AVChatManagerLite::disableVideo()

◆ getCurrentChatId()

abstract long com.netease.nimlib.sdk.avchat.AVChatManagerLite.getCurrentChatId ( )
abstract

获取当前会话ID

每通会话都会有一个唯一的ID, 同时SDK仅同时允许一通会话进行。 如果当前有会话正在进行,通过此接口能获取到其会话ID。 在 AVChatManagerLite#call2(String, AVChatType, AVChatNotifyOption, AVChatCallback) AVChatManagerLite#accept2(long, AVChatCallback) 接口成功回调时会告知用户当前会话ID。

返回
返回当前正在进行的会话ID

◆ getInstance()

static AVChatManagerLite com.netease.nimlib.sdk.avchat.AVChatManagerLite.getInstance ( )
static

获取基础音视频通话接口

基础版本音视频通话。 如果需要使用伴音以及本地录制等功能, 需要使用 AVChatManager 接口。

返回
返回 AVChatManagerLite

在文件 AVChatManagerLite.java127 行定义.

◆ getParameter()

abstract <T> T com.netease.nimlib.sdk.avchat.AVChatManagerLite.getParameter ( AVChatParameters.Key< T >  key)
abstract

获取参数。 参数类型参考 AVChatParameters.Key#type()。 参数可设置时机参考 AVChatParameters.Key#runtime(),支持

runtime

代表通话过程中可操作,不支持则仅能通话前操作。 参数是否可设置参考 AVChatParameters.Key#writable(), 支持

writable

代表能够设置参数值,不支持则仅能获取参数值。

参数
key参数Key
<T>参数类型
返回
参数值
参见
AVChatParameters
AVChatParameters.Key
AVChatMediaCodecMode
AVChatAudioEffectMode

◆ getParameters()

abstract AVChatParameters com.netease.nimlib.sdk.avchat.AVChatManagerLite.getParameters ( AVChatParameters  params)
abstract

获取参数。 参数类型参考 AVChatParameters.Key#type()。 参数可设置时机参考 AVChatParameters.Key#runtime(),支持

runtime

代表通话过程中可操作,不支持则仅能通话前操作。 参数是否可设置参考 AVChatParameters.Key#writable(), 支持

writable

代表能够设置参数值,不支持则仅能获取参数值。

参数
params需要获取的参数, null则是取所有参数
返回
获取参数
参见
AVChatParameters
AVChatParameters.Key
AVChatMediaCodecMode
AVChatAudioEffectMode

◆ getUidByAccount()

abstract Long com.netease.nimlib.sdk.avchat.AVChatManagerLite.getUidByAccount ( String  account)
abstract

通过account 获取 uid

返回
account 对应的uid ,或者 null (不在频道中)

◆ hangUp2()

abstract void com.netease.nimlib.sdk.avchat.AVChatManagerLite.hangUp2 ( long  chatId,
AVChatCallback< Void >  callback 
)
abstract

信令层挂断或者拒绝通话请求

在程序启动时需要注册 AVChatManagerLite#observeIncomingCall(Observer, boolean), 这样在有其他用户 呼叫时将会收到来电通知, 收到来电通知后一般会有相应的界面展示, 如果需要拒绝电话调用此接口, 如果需要接听通话请调用 AVChatManagerLite#accept2(long, AVChatCallback)

如果在通话过程中调用此接口,则会直接挂断通话, 同时对方会收到你挂断通知信令。

此接口仅仅是信令层的挂断,如果需要销毁引擎释放资源需要调用以下接口:

  1. 可选, 关闭视频预览 AVChatManagerLite#stopVideoPreview() ()}
  2. 可选, 关闭视频模块 AVChatManagerLite#disableVideo()}
  3. 释放通话资源 AVChatManagerLite#disableRtc()
参数
chatId会话ID。发起通话和被叫通知都有会话ID通知,挂断时需要制定会话ID,如果在呼叫过程中还没有返回会话ID, 则传入0能够挂断正在呼叫的会话。
callback回调函数
参见
AVChatManagerLite::call2(String, AVChatType, AVChatNotifyOption, AVChatCallback)
AVChatManagerLite::accept2(long, AVChatCallback)

◆ isAllRemoteAudioMuted()

abstract boolean com.netease.nimlib.sdk.avchat.AVChatManagerLite.isAllRemoteAudioMuted ( )
abstract

当前是否关闭用户语音数据播放.

返回
true
解码播放远端语音流,
false
不解码播放远端语音流

◆ isLocalAudioMuted()

abstract boolean com.netease.nimlib.sdk.avchat.AVChatManagerLite.isLocalAudioMuted ( )
abstract

本地语音是否静音.

返回
true
本地语音静音,
false
本地语音未静音
参见
muteLocalAudio(boolean)

◆ isLocalVideoMuted()

abstract boolean com.netease.nimlib.sdk.avchat.AVChatManagerLite.isLocalVideoMuted ( )
abstract

是否发送本地视频流数据.

返回
true
本地视频暂停,
false
本地视频未暂停

◆ isMicrophoneMute()

abstract boolean com.netease.nimlib.sdk.avchat.AVChatManagerLite.isMicrophoneMute ( )
abstract

检查麦克风是否静音

返回
麦克风是否静音

◆ isRemoteAudioMuted()

abstract boolean com.netease.nimlib.sdk.avchat.AVChatManagerLite.isRemoteAudioMuted ( String  account)
abstract

当前是否关闭用户语音数据播放.

参数
account用户账号
返回
true
解码播放远端语音流,
false
不解码播放远端语音流

◆ isRemoteVideoMuted()

abstract boolean com.netease.nimlib.sdk.avchat.AVChatManagerLite.isRemoteVideoMuted ( String  account)
abstract

当前是否关闭用户视频数据播放.

参数
account用户账号
返回
true
解码绘制远端视频流,
false
不解码绘制远端视频流

◆ joinRoom2()

abstract void com.netease.nimlib.sdk.avchat.AVChatManagerLite.joinRoom2 ( String  roomName,
final AVChatType  callType,
AVChatCallback< AVChatData callback 
)
abstract

加入已经预先创建的多人会议房间

加入一个多人会议房间前需要调用以下接口:

  1. 开启音视频引擎 AVChatManagerLite#enableRtc()
  2. 可选, 激活视频模块 AVChatManagerLite#enableVideo()
  3. 可选, 设置本地预览画布,AVChatManagerLite#setupLocalVideoRender(IVideoRender, boolean, int)
  4. 可选, 开启视频预览,AVChatManagerLite#startVideoPreview()
  5. 可选, 通话相关参数设置 AVChatManagerLite#setParameters(AVChatParameters)

当你成功加入会议后, 你会收到 AVChatStateObserverLite#onUserJoined(String) 来通知目前会议室内已经存在的用户。 在离开房间时需要调用 AVChatManagerLite#leaveRoom2(String, AVChatCallback)

多人会议的加入其他用户是不会收到信令层的通知,只能通过媒体层的通知来获取用户加入 AVChatStateObserverLite#onUserJoined(String)

如果你的产品加入多人会议是为了进行互动直播, 那么你还需要额外设置以下参数 AVChatManagerLite#setParameter(AVChatParameters.Key, Object):

参数
roomName房间名
callType房间通话类型
callback加入房间回调接口
参见
AVChatManagerLite::createRoom(String, String, AVChatCallback)
AVChatManagerLite::leaveRoom2(String, AVChatCallback)

◆ leaveRoom2()

abstract void com.netease.nimlib.sdk.avchat.AVChatManagerLite.leaveRoom2 ( String  roomName,
AVChatCallback< Void >  callback 
)
abstract

离开加入的多人会议房间

此接口仅仅是离开多人会话房间,如果需要销毁引擎释放资源需要调用以下接口:

  1. 可选, 关闭视频预览 AVChatManagerLite#stopVideoPreview() ()}
  2. 可选, 关闭视频模块 AVChatManagerLite#disableVideo()}
  3. 释放通话资源 AVChatManagerLite#disableRtc()

多人会议的离开其他用户是不会收到信令层的通知,只能通过媒体层的通知来获取用户离开 AVChatStateObserverLite#onUserLeave(String, int)

参数
roomName房间名
callback离开房间的回调接口
参见
AVChatManagerLite::createRoom(String, String, AVChatCallback)
AVChatManagerLite::joinRoom2(String, AVChatType, AVChatCallback)

◆ muteAllRemoteAudio()

abstract void com.netease.nimlib.sdk.avchat.AVChatManagerLite.muteAllRemoteAudio ( boolean  muted)
abstract

设置是否允许播放远端用户数据.

参数
muted

◆ muteLocalAudio()

abstract void com.netease.nimlib.sdk.avchat.AVChatManagerLite.muteLocalAudio ( boolean  muted)
abstract

开/关本地音频.

参数
muted

◆ muteLocalVideo()

abstract void com.netease.nimlib.sdk.avchat.AVChatManagerLite.muteLocalVideo ( boolean  muted)
abstract

开/关本地视频流的发送.

参数
muted

◆ muteRemoteAudio()

abstract void com.netease.nimlib.sdk.avchat.AVChatManagerLite.muteRemoteAudio ( String  account,
boolean  muted 
)
abstract

设置是否允许播放远端用户数据.

参数
account用户账号
muted

◆ muteRemoteVideo()

abstract void com.netease.nimlib.sdk.avchat.AVChatManagerLite.muteRemoteVideo ( String  account,
boolean  muted 
)
abstract

设置是否允许播放远端用户数据.

参数
account用户账号
muted

◆ observeAVChatState()

abstract void com.netease.nimlib.sdk.avchat.AVChatManagerLite.observeAVChatState ( AVChatStateObserverLite  observer,
boolean  register 
)
abstract

注册/注销网络通话状态通知 网络通话开始后,所有的通话状态通过 AVChatStateObserverLite 进行通知。

参数
observer观察者,参数为通话状态回调
register

◆ observeCalleeAckNotification()

abstract void com.netease.nimlib.sdk.avchat.AVChatManagerLite.observeCalleeAckNotification ( Observer< AVChatCalleeAckEvent observer,
boolean  register 
)
abstract

注册/注销网络通话被叫方的响应(接听、拒绝、忙)

参数
observer观察者, 参数为接收到的网络通话的通知消息
register

◆ observeControlNotification()

abstract void com.netease.nimlib.sdk.avchat.AVChatManagerLite.observeControlNotification ( Observer< AVChatControlEvent observer,
boolean  register 
)
abstract

注册/注销网络通话控制消息(音视频模式切换通知)

会话相关的控制指令通知,用户可以自定义私有的控制指令。

参数
observer观察者, 参数为接收到的网络通话控制消息
register

◆ observeHangUpNotification()

abstract void com.netease.nimlib.sdk.avchat.AVChatManagerLite.observeHangUpNotification ( Observer< AVChatCommonEvent observer,
boolean  register 
)
abstract

注册/注销网络通话对方挂断的通知

参数
observer观察者, 参数为接收到的网络通话的挂断消息
register

◆ observeIncomingCall()

abstract void com.netease.nimlib.sdk.avchat.AVChatManagerLite.observeIncomingCall ( Observer< AVChatData observer,
boolean  register 
)
abstract

注册/注销网络来电.

当收到对方来电请求时,会通知上层通话信息。 用户可以选择 AVChatManager#accept2(long, AVChatCallback) 来接听电话, 或者 AVChatManager#hangUp2(long, AVChatCallback) 来挂断电话。 通常在收到来电请求时,上层需要维持 一个超时器,当超过一定时间没有操作时直接调用 AVChatManager#hangUp2(long, AVChatCallback) 来挂断。

当用户当前有电话在进行时,如果收到来电请求,需要选择是接听当前电话和是继续原来的通话。如果接听当前来电,则需要 AVChatManager#hangUp2(long, AVChatCallback) 原来进行的电话,然后 AVChatManager#accept2(long, AVChatCallback) 当前来电。 如果选择继续原来的通话,挂断当前来电,最好能够先发送一个正忙的指令给对方 AVChatManager#sendControlCommand(long, byte, AVChatCallback), 然后在再挂断 AVChatManager#hangUp2(long, AVChatCallback) 当前通话。

参数
observer观察者,参数为被叫通话的基本信息
register

◆ observeOnlineAckNotification()

abstract void com.netease.nimlib.sdk.avchat.AVChatManagerLite.observeOnlineAckNotification ( Observer< AVChatOnlineAckEvent observer,
boolean  register 
)
abstract

注册/注销同时在线的其他端对主叫方的响应

参数
observer观察者,参数为同时在线的其他端响应主叫方的同步通知
register

◆ rate()

abstract void com.netease.nimlib.sdk.avchat.AVChatManagerLite.rate ( int  rate,
String  description 
)
abstract

当前通话打分

参数
rate0~5分
description通话描述信息

◆ selectAudioDevice()

abstract void com.netease.nimlib.sdk.avchat.AVChatManagerLite.selectAudioDevice ( int  audioDevice)
abstract

设置音频输出设备 可选设备列表来自此回调 AVChatStateObserverLite#onAudioDeviceChanged

参数
audioDevicecom.netease.nimlib.sdk.avchat.constant.AVChatAudioDevice

◆ sendControlCommand()

abstract void com.netease.nimlib.sdk.avchat.AVChatManagerLite.sendControlCommand ( long  chatId,
byte  controlCommand,
AVChatCallback< Void >  callback 
)
abstract

通用信令消息发送

在通话过程中, 你可以发送信令消息通知到房间内的其他用户。 当用户注册了 AVChatManagerLite#observeControlNotification(Observer, boolean) 监听器后都会 收到你发送的信令消息。

SDK内部定义了一些通用信令,参考 AVChatControlCommand, 通过这些信令能够实现 正忙发送, 音视频通话模式切换等常用功能。 如果你需要实现属于自己的信令, 可以在 AVChatControlCommand#NOTIFY_CUSTOM_BASE 基础上去定义自己的信令。

信令的发送和接收仅仅是消息的透传, 它不会影响SDK内部任何逻辑。如果你需要对接收到的指令进行响应, 请调用相关其他引擎接口。

参数
chatId会话ID
controlCommand控制命令值
callback回调函数
参见
AVChatControlCommand

◆ setChannelProfile()

abstract boolean com.netease.nimlib.sdk.avchat.AVChatManagerLite.setChannelProfile ( int  profile)
abstract

语音通话模式设置

在通话前可以设置本次通话的语音模式, 目前支持两种种语音模式。

注意:高清音乐模式仅限耳机场景下使用 , 其他场景可能导致音频质量不佳

参数
profile通话场景.
返回
true
方法调用成功,
false
方法调用失败
参见
AVChatChannelProfile

◆ setMicrophoneMute()

abstract void com.netease.nimlib.sdk.avchat.AVChatManagerLite.setMicrophoneMute ( boolean  mute)
abstract

设置麦克风是否静音

参数
mute麦克风是否静音

◆ setParameter()

abstract <T> void com.netease.nimlib.sdk.avchat.AVChatManagerLite.setParameter ( AVChatParameters.Key< T >  key,
value 
) throws IllegalArgumentException
abstract

设置参数。 参数类型参考 AVChatParameters.Key#type()。 参数可设置时机参考 AVChatParameters.Key#runtime(),支持

runtime

代表通话过程中可操作,不支持则仅能通话前操作。 参数是否可设置参考 AVChatParameters.Key#writable(), 支持

writable

代表能够设置参数值,不支持则仅能获取参数值。

参数
key参数Key
value参数值
<T>参数数据类型
异常
IllegalArgumentException参数值非法或者参数不支持运行时设置
参见
AVChatParameters
AVChatParameters.Key
AVChatMediaCodecMode
AVChatAudioEffectMode

◆ setParameters()

abstract void com.netease.nimlib.sdk.avchat.AVChatManagerLite.setParameters ( AVChatParameters  params) throws IllegalArgumentException
abstract

设置参数。 参数类型参考 AVChatParameters.Key#type()。 参数可设置时机参考 AVChatParameters.Key#runtime(),支持

runtime

代表通话过程中可操作,不支持则仅能通话前操作。 参数是否可设置参考 AVChatParameters.Key#writable(), 支持

writable

代表能够设置参数值,不支持则仅能获取参数值。

参数
params设置参数
异常
IllegalArgumentException参数值非法或者参数不支持运行时设置
参见
AVChatParameters
AVChatParameters.Key
AVChatMediaCodecMode
AVChatAudioEffectMode

◆ setSpeaker()

abstract void com.netease.nimlib.sdk.avchat.AVChatManagerLite.setSpeaker ( boolean  enable)
abstract

是否使用扬声器

参数
enable

◆ setupLocalVideoRender()

abstract boolean com.netease.nimlib.sdk.avchat.AVChatManagerLite.setupLocalVideoRender ( IVideoRender  render,
boolean  mirror,
int  scalingType 
)
abstract

设置本地用户视频画布。
如果需要预览,设置自己视频画面的画布需要在call或者joinRoom的onSuccess回调中调用.


如果不需要预览,设置自己视频画面的画布需要在 AVChatStateObserver::onCallEstablished 后调用.

参数
render画布. AVChatSurfaceViewRenderer, AVChatExternalVideoRender, AVChatTextureViewRenderer
mirror绘制是否镜像, 设置画布为 AVChatSurfaceViewRenderer 时有效
scalingType绘制模式, 设置画布为 AVChatSurfaceViewRenderer 时有效
返回
true
方法调用成功,
false
方法调用失败
参见
com.netease.nimlib.sdk.avchat.constant.AVChatVideoScalingType

◆ setupRemoteVideoRender()

abstract boolean com.netease.nimlib.sdk.avchat.AVChatManagerLite.setupRemoteVideoRender ( String  account,
IVideoRender  render,
boolean  mirror,
int  scalingType 
)
abstract

设置远端用户视频画布。
设置远端用户视频画面的画布需要在 AVChatStateObserver::onUserJoined 后调用.

参数
account用户账号
render画布, AVChatSurfaceViewRenderer, AVChatExternalVideoRender, AVChatTextureViewRenderer
mirror绘制是否镜像, 设置画布为 AVChatSurfaceViewRenderer 时有效
scalingType绘制模式, 设置画布为 AVChatSurfaceViewRenderer 时有效
返回
true
方法调用成功,
false
方法调用失败
参见
com.netease.nimlib.sdk.avchat.constant.AVChatVideoScalingType

◆ setupVideoCapturer()

abstract boolean com.netease.nimlib.sdk.avchat.AVChatManagerLite.setupVideoCapturer ( AVChatVideoCapturer  videoCapturer)
abstract

设置视频数据源

在进行视频通话时需要设置一个可用的视频数据源,该方法需要在AVChatManager#startVideoPreview()前调用。 目前SDK支持多种视频数据源:

参数
videoCapturer视频数据源
返回
true
方法调用成功,
false
方法调用失败
参见
AVChatCameraCapturer
AVChatVideoCapturerFactory::createCameraPolicyCapturer(boolean)
AVChatExternalVideoCapturer

◆ setVideoQualityStrategy()

abstract boolean com.netease.nimlib.sdk.avchat.AVChatManagerLite.setVideoQualityStrategy ( int  strategy)
abstract

视频质量调整策略设置

目前视频调整支持三种模式:

  • 清晰优先。 在此模式下会优先保证视频的清晰度, 网络不稳定时会优先降低帧率来保证视频的清晰度
  • 流畅优先。 在此模式下会优先保证视频的流畅度, 网络不稳定是会优先降低视频分辨率来保证视频的流程度
  • 录屏模式。 在此模式下会保持分辨率不变, 初始码率较低,IP帧比例增大
参数
strategy策略类型 AVChatVideoQualityStrategy
返回
true
方法调用成功,
false
方法调用失败
参见
AVChatVideoQualityStrategy

◆ speakerEnabled()

abstract boolean com.netease.nimlib.sdk.avchat.AVChatManagerLite.speakerEnabled ( )
abstract

扬声器是否打开

返回
true
扬声器已打开,
false
扬声器未打开

◆ startVideoPreview()

abstract boolean com.netease.nimlib.sdk.avchat.AVChatManagerLite.startVideoPreview ( )
abstract

开启本地视频预览

开启视频预览前需要调用 AVChatManager#enableVideo() 打开视频模块,同时设置视频数据源 AVChatManagerLite#setupVideoCapturer(AVChatVideoCapturer)。 如果需要绘制视频内容需要调用 AVChatManager#setupLocalVideoRender(IVideoRender, boolean, int) 设置本地预览画布。

返回
true
方法调用成功,
false
方法调用失败

◆ stopVideoPreview()

abstract boolean com.netease.nimlib.sdk.avchat.AVChatManagerLite.stopVideoPreview ( )
abstract

关闭本地视频预览

在视频通话时,可以随时调用视频画面预览。调用此方法后,视频本地预览和视频数据发送都会停止。

返回
true
方法调用成功,
false
方法调用失败

该类的文档由以下文件生成: