旁路推流地址,格式为 RTMP。该字符长度不能超过 1024 字节,且不支持中文等特殊字符。
设置是否转码:
true
,需先调用 setLiveTranscoding 方法。ERR_INVALID_ARGUMENT (2)
: RTMP 流地址为空或者字符长度为 0。ERR_NOT_INITIALIZED (7)
: 使用该功能之前没有初始化 AgoraRtcChannel
。将指定用户的视频流添加为高帧率流。添加为高帧率流后,你可以调用 setVideoRenderHighFPS 方法对视频流进行控制。
用户 ID
待添加的水印图片的本地路径。本方法支持从本地绝对/相对路径添加水印图片。
待添加的水印图片的设置选项,详见 WatermarkOptions
调节音乐文件的本地播放音量。
音乐文件的本地播放音量,取值范围为 [0, 100],默认值为 100,表示原始文件音量
调节音乐文件的远端播放音量。
音乐文件的远端播放音量,取值范围为 [0, 100],默认值为 100,表示原始文件音量
调节音乐文件的播放音量。
音乐文件播放音量,取值范围为 [0, 100],默认值为 100,表示原始文件音量
调节声卡采集信号音量。
声卡采集信号音量。取值范围为 [0,100]。默认值为 100,表示原始音量。
调节本地播放的所有远端用户信号音量。
播放音量。取值范围为 [0,400],其中:
调节麦克风采集信号音量。
麦克风采集信号音量。取值范围为 [0,400],其中:
远端用户 ID。
播放音量,取值范围为 [0,100]:
投诉通话质量。
通话 getCallId 方法获取的通话 ID
给通话的描述。可选参数,长度应小于 800 字节
创建并获取一个 AgoraRtcChannel
对象。
你可以多次调用该方法,创建多个 AgoraRtcChannel
对象,再调用各 AgoraRtcChannel
对象
中的 joinChannel 方法,实现同时加入多个频道。
加入多个频道后,你可以同时订阅各个频道的音、视频流;但是同一时间只能在一个频道发布一路音、视频流。
能标识频道的频道名,长度在 64 字节以内的字符。以下为支持的字符集 范围(共 89 个字符):
channelName
设为空字符 "",SDK 会返回 ERR_REFUSED(5)
创建数据流。
true
:接收方 5 秒内会收到发送方所发送的数据,否则会收到 streamMessageError
回调并获得相应报错信息false
:接收方不保证收到,就算数据丢失也不会报错true
:接收方 5 秒内会按照发送方发送的顺序收到数据包false
:接收方不保证按照发送方发送的顺序收到数据包创建数据流。
数据流设置
销毁渲染器对象。
存储渲染器 Map 的关键标识,如 uid
、videoSource
或 local
destroyRenderer
方法的错误回调
关闭音频模块。
关闭网络测试。
关闭视频模块。
该方法可以在加入频道前或者通话中调用:
成功掉调用该方法后,远端会触发 userEnableVideo(fasle)
回调。
若想再次开启视频模块,请调用 enableVideo 方法。
启用音频模块(默认为开启状态)。
启用说话者音量提示。
该方法允许 SDK 定期向 App 反馈当前谁在说话以及说话者的音量。启用该方法后,无论频道内是否有人说话,
都会在说话声音音量提示回调 groupAudioVolumeIndication
回调中按设置的间隔时间返回音量提示。
指定音量提示的时间间隔:
groupAudioVolumeIndication
回调。平滑系数,指定音量提示的灵敏度。取值范围为 [0, 10]。建议值为 3,数字越大,波动越灵敏;数字越小,波动越平滑
true
: 开启本地人声检测功能。开启后,groupAudioVolumeIndication
回调的 vad
参数会报告是否在本地检测到人声。false
:(默认)关闭本地人声检测功能。除引擎自动进行本地人声检测的场景外,groupAudioVolumeIndication
回调的 vad
参数不会报告是否在本地检测到人声。开启/关闭视频截图上传。
设置是否开启视频截图上传:
视频截图上传配置。详见 ContentInspectConfig 。
开启或关闭 AI 降噪模式。
SDK 默认开启传统降噪模式,以消除大部分平稳噪声。如果你还需要消除非平稳噪声,Agora 推荐你按如下步骤开启 AI 降噪模式:
AgoraAIDenoiseExtension.framework
libagora_ai_denoise_extension.dll
enableDeepLearningDenoise(true)
。AI 降噪模式需使用高性能的设备,如 MacBook Pro 2015。只有在设备性能良好的情况下, SDK 才会成功开启 AI 降噪模式。
成功开启 AI 降噪模式后,如果 SDK 检测到当前设备的性能不足,SDK 会自动关闭 AI 降噪模式,并开启传统降噪模式。
在频道内,如果你调用了 enableDeepLearningDenoise(false)
或 SDK 自动关闭了 AI 降噪模式,当你需要重新开启 AI 降噪模式时,
你需要先调用 leaveChannel,再调用 enableDeepLearningDenoise(true)
。
-157
: 未集成用于 AI 降噪的动态库。开/关视频双流模式。
该方法设置单流(默认)或者双流模式。发送端开启双流模式后,接收端可以选择接收大流还是小流。
其中,大流指高分辨率、高码率的视频流,小流指低分辨率、低码率的视频流。
指定双流或者单流模式:
开启或关闭内置加密。
是否开启内置加密:
配置内置加密模式和密钥。
-2
: 调用了无效的参数。需重新指定参数。-4
: 设置的加密模式不正确或加载外部加密库失败。需检查枚举值是否正确或重新加载外部加密库。-7
: SDK 尚未初始化。需在调用 API 之前已创建 AgoraRtcEngine 对象并完成初始化。启用网络测试。
该方法启用网络连接质量测试,用于检测用户网络接入质量。默认该功能为关闭状态。
该方法主要用于以下两种场景:
开/关本地音频采集。
当 App 加入频道时,它的语音功能默认是开启的。该方法可以关闭或重新开启本地语音功能,即停止或重新开始本地音频采集。
该方法不影响接收或播放远端音频流,enableLocalAudio(false)
适用于只听不发的用户场景。语音功能关闭或重新开启后,会收到回调 microphoneEnabled
。
开/关本地视频采集。
该方法禁用或重新启用本地视频采集,不影响接收远端视频。
调用 enableVideo 后,本地视频即默认开启。你可以调用 enableLocalVideo(false) 关闭本地视频采集。关闭后如果想要重新开启,则可调用 enableLocalVideo(true)。
成功禁用或启用本地视频采集后,远端会触发 userEnableLocalVideo 回调。
开启本地语音音调回调。
设置 SDK 触发 localVoicePitchInHz
回调的时间间隔:
localVoicePitchInHz
回调。localVoicePitchInHz
回调的时间间隔,单位为毫秒。取值需大于等于 10 毫秒,如果小于 10 毫秒,SDK 会自动调整为 10 毫秒。开启声卡采集。
启用声卡采集功能后,声卡播放的声音会被合到本地音频流中,从而可以发送到远端。
是否开启声卡采集:
声卡的设备名。
"soundflower"
作为参数传入,SDK 会找到对应的虚拟声卡设备,并开始采集。Note: macOS 系统默认声卡
不支持采集功能,如需开启此功能需要 App 自己启用一个虚拟声卡,并将该虚拟声卡的名字
作为 deviceName
传入 SDK。声网测试并推荐 soundflower 作为虚拟声卡。开启/关闭远端用户的语音立体声。
如果想调用 setRemoteVoicePosition 实现听声辨位的功能,请确保在调用 joinChannel 方法前调用该方法。
是否开启远端用户语音立体声:
启用视频模块。
该方法可以在加入频道前或者通话中调用。
成功调用该方法后,远端会触发 userEnableVideo(true)
回调。
若想关闭视频模式,请调用 disableVideo 方法。
开启/关闭虚拟背景。
自 v3.4.5 支持 macOS 和 Windows 平台,自 v3.5.0 支持 Android 和 iOS 平台。
开启虚拟背景功能后,你可以使用自定义的背景图替代本地用户原来的背景图。替换后,频道内所有用户都能看到自定义的背景图。
你可以从 virtualBackgroundSourceEnabled
回调了解虚拟
背景是否成功开启和相应的出错原因。
设置是否开启虚拟背景:
自定义的背景图。详见 VirtualBackgroundSource 。Note: 为将自定义背景图的分辨率与 SDK 的视频采集分辨率适配, SDK 会在保证自定义背景图内容不变形的前提下,对自定义背景图进行缩放和裁剪。
是否打开与 RTC Web SDK 的互通:
开启或关闭 Wi-Fi 加速功能。
设置是否开启 Wi-Fi 加速功能:
设置 SDK 使用的音频播放设备跟随系统默认的音频播放设备。
是否跟随系统默认的音频播放设备:
设置 SDK 使用的音频采集设备跟随系统默认的音频采集设备。
是否跟随系统默认的音频采集设备:
获取指定音频文件信息。
文件路径:
\music\audio.mp4
。/assets/
开头的路径。content://com.android.providers.media.documents/document/audio%3A14441
。/var/mobile/Containers/Data/audio.mp4
。获取音乐文件的播放进度。
获取音乐文件总时长。
获取音乐文件的本地播放音量。
该方法获取混音的音乐文件本地播放音量,方便排查音量相关问题。
调节音乐文件远端播放音量。
该方法调节混音音乐文件在远端的播放音量大小。
获取当前音频播放设备的静音状态。
true
:当前音频播放设备静音false
:当前音频播放设备不静音获取音频播放设备列表。
音频播放设备的 Array
获取音频播放设备的音量
播放设备音量(分贝)。取值范围 [0,255]
获取当前音频录制设备的静音状态。
true
:当前音频录制设备静音false
:当前音频录制设备不静音获取音频录制设备
音频录制设备的 Array
获取录制设备的音量。
录音设备音量(分贝)。取值范围 [0,255]
获取当前音乐文件的音轨索引。
获取通话 ID。
客户端在每次 joinChannel 后会生成一个对应的 CallId
,标识该客户端的此次通话。
有些方法如 rate, complain 需要在通话结束后调用,向 SDK 提交反馈,这些方法必须指定 CallId
参数。
使用这些反馈方法,需要在通话过程中调用 getCallId
方法获取 CallId
,在通话结束后在反馈方法中作为参数传入。
通话 ID
获取当前网络连接状态。
connect 网络连接状态
获取当前的音频播放设备。
音频播放设备对象
获取当前的音频录制设备。
音频录制设备对象
获取当前的视频设备。
视频设备对象
获取系统默认的音频播放设备。
获取系统默认的音频采集设备。
获取指定音效文件的播放进度。
音效 ID。请确保与 playEffect
中设置的 soundId
一致。
-22
: 无法找到音效文件。请填写正确的 soundId
。获取指定音效文件总时长。
音效文件的绝对路径或 URL 地址,需精确到文件名及后缀。
例如:C:\music\audio.mp4
。支持的音频格式包括 MP3、AAC、M4A、MP4、WAV、3GP。 详见
Supported Media Formats in Media Foundation。
-22
: 无法找到音效文件。请填写正确的 filePath
。获取播放音效文件音量。
获取指定错误码的详细错误信息。
错误码
errorCode 描述
获取播放设备信息。
设备 ID
设备名称
获取录制设备信息。
设备 ID
设备名
获取可共享的屏幕和窗口对象列表。
屏幕或窗口的缩略图的目标尺寸(宽高单位为像素)。详见 SIZE
。
SDK 会在保证原图不变形的前提下,缩放原图,使图片最长边和目标尺寸的最长边的长度一致。例如,原图宽高为 400 × 300,thumbSize
为 100 x 100,缩略图实际尺寸为 100 × 75。如果目标尺寸大于原图尺寸,缩略图即为原图,SDK 不进行缩放操作。
程序所对应的图标的目标尺寸(宽高单位为像素)。详见 SIZE
。
SDK 会在保证原图不变形的前提下,缩放原图,使图片最长边和目标尺寸的最长边的长度一致。例如,原图宽高为 400 × 300,iconSize
为 100 × 100,图标实际尺寸为 100 × 75。如果目标尺寸大于原图尺寸,图标即为原图,SDK 不进行缩放操作。
除了窗口信息外,SDK 是否还返回屏幕信息:
Array of ScreenCaptureSource objects
获取屏幕信息。
该方法获取所有的系统(macOS 或 Windows)屏幕 ID,以及相关信息。你可以使用获取到的屏幕 ID 进行屏幕共享。
Windows 和 macOS 系统的屏幕 ID(displayId)不同。你无需关注屏幕 ID 的具体内容,直接使用它进行屏幕共享即可。
回调函数。该回调的入参为 DisplayInfo 数组,返回值为空。
获取系统窗口信息。
该方法获取所有系统(macOS 或 Windows)窗口 ID,以及相关信息。你可以使用获取到的窗口 ID 进行屏幕共享。
回调函数。该回调的入参为 WindowInfo 数组,返回值为空。
通过 UID 获取用户信息。
远端用户加入频道后, SDK 会获取到该远端用户的 UID 和 User Account,然后缓存一个包含了远端用户 UID 和 User Account 的 Mapping 表,
并在本地触发 userInfoUpdated
回调。你收到这个回调后,可以调用该方法,通过传入 UID 获取包含了指定用户 User Account 的 UserInfo
对象。
用户 UID
errCode
方法调用失败,返回错误码userInfo
方法调用成功,返回包含了指定用户 User Account 的 UserInfo
对象通过 User Account 获取用户信息。
远端用户加入频道后,SDK 会获取到该远端用户的 UID 和 User Account,然后缓存一个包含了远端用户 UID 和 User Account 的 Mapping 表,
并在本地触发 userInfoUpdated
回调。你收到这个回调后,可以调用该方法,通过传入 User Account 获取包含了指定用户 UID 的 UserInfo
对象。
用户 User Account
errCode
方法调用失败,返回错误码userInfo
方法调用成功,获取包含了指定用户 UID 的 UserInfo
对象获取当前 SDK 的版本和 Build 信息。
当前 SDK 的版本
初始化渲染器对象。
存储渲染器 Map 的关键标识,如 uid
、videosource
或 local
渲染视频的 Dom
初始化一个 AgoraRtcEngine
实例。
声网为 App 开发者签发的 App ID,每个项目都应该有一个独一无二的 App ID
服务器的访问区域。该功能为高级设置,适用于有访问安全限制的场景。支持的区域详见 AREA_CODE 指定访问区域后,SDK 会连接指定区域内的声网服务器。注解:仅支持指定单个访问区域。
SDK 日志文件配置。默认情况下,SDK 会生成 agorasdk.log
、agorasdk_1.log
、agorasdk_2.log
、agorasdk_3.log
、agorasdk_4.log
这 5 个日志文件。
每个文件的默认大小为 1024 KB。日志文件为 UTF-8 编码。最新的日志永远写在 agorasdk.log
中。agorasdk.log
写满后,SDK 会从 1-4
中删除修改时间最早的一个文件,然后将 agorasdk.log
重命名为该文件,并建立新的 agorasdk.log
写入最新的日志。
加入频道并设置是否自动订阅音频或视频流。
该方法让用户加入通话频道,在同一个频道内的用户可以互相通话,多个用户加入同一个频道,可以群聊。使用不同 App ID 的 App 是不能互通的。 如果已在通话中,用户必须调用 leaveChannel 退出当前通话,才能进入下一个频道。
成功调用该方法加入频道后,本地会触发 joinedChannel
回调;
通信场景下的用户和直播场景下的主播加入频道后,远端会触发 userJoined
回调。
在网络状况不理想的情况下,客户端可能会与声网的服务器失去连接;SDK 会自动尝试重连,重连成功后,本地会触发 rejoinedChannel
回调。
在服务端生成的用于鉴权的 Token。 详见从服务端生成 Token。
标识通话的频道名称,长度在 64 字节以内的字符串。以下为支持的字符集范围(共 89 个字符):
(非必选项) 预留参数。
(非必选项) 用户 ID,32位无符号整数。建议设置范围:1到 232-1,并保证唯一性。如果不指定(即设为0),SDK 会自动分配一个,
并在 joinedChannel
回调方法中返回,App 层必须记住该返回值并维护,SDK 不对该返回值进行维护。
请注意:频道内每个用户的 UID 必须是唯一的。如果想要从不同的设备同时接入同一个频道,请确保每个设备上使用的 UID 是不同的。
频道媒体设置选项。
-2
: 参数无效。-3
: SDK 初始化失败,请尝试重新初始化 SDK。-5
: 调用被拒绝。可能有如下两个原因:-7
: SDK 尚未初始化,就调用该方法。请确认在调用 API 之前已创建 AgoraRtcRtcEngine 对象并完成初始化。使用 User Account 加入频道。
该方法允许本地用户使用 User Account 加入频道。成功加入频道后,会触发以下回调:
localUserRegistered
和 joinedChannel
回调userJoined
和 userInfoUpdated
回调用户成功加入频道后,默认订阅频道内所有其他用户的音频流和视频流,因此产生用量并影响计费。如果想取消订阅,可以通过调用相应的 mute
方法实现。
在服务端生成的用于鉴权的 Token。详见从服务端生成 Token。
用户 User Account。该参数为必需,最大不超过 255 字节,不可为 null
。请确保注册的 User Account 的唯一性。以下为支持的字符集范围(共 89 个字符):
-2
-3
-5
-7
离开频道。
离开频道,即机挂断或退出通话。
该方法会把回话相关的所有资源都释放掉。该方法是异步操作,调用返回时并没有真正退出频道。
真正退出频道后,本地会触发 leaveChannel
回调;通信场景下的用户和直播场景下的主播离开频道后,远端会触发 removeStream
回调。
取消或恢复订阅所有远端用户的音频流。
自 v3.3.1 起,成功调用该方法后,本地用户会取消或恢复订阅所有远端用户的音频流,包括在调用该方法后加入频道的用户的音频流。
是否取消订阅所有远端用户的音频流。
取消或恢复订阅所有远端用户的视频流。
自 v3.3.1 起,成功调用该方法后,本地用户会取消或恢复订阅所有远端用户的视频流,包括在调用该方法后加入频道的用户的视频流。
是否取消订阅所有远端用户的视频流。
取消或恢复发布本地音频流。
成功调用该方法后,远端会触发 userMuteAudio
回调。
是否取消发布本地音频流。
取消或恢复发布本地视频流。
成功调用该方法后,远端会触发 userMuteVideo
回调。
是否取消发布本地视频流。
取消或恢复订阅指定远端用户的音频流。
是否取消订阅指定远端用户的音频流。
取消或恢复订阅指定远端用户的视频流。
是否取消订阅指定远端用户的视频流。
API 方法已执行回调。
SDK 所调用的 API。
方法调用失败时返回的错误码。
发生警告回调。
警告码。
警告信息。
发生错误回调。
错误码。
错误信息。
用户加入频道回调。
频道名。
加入频道用户的用户 ID。
从调用 joinChannel 方法到触发该回调所经过的时间。
重新加入频道回调。
有时候由于网络原因,客户端可能会和服务器失去连接,SDK 会进行自动重连,自动重连成功后触发此回调方法。
频道名
用户 ID
从调用 joinChannel 开始到发生此事件过去的时间(毫秒)
提示频道内谁在说话以及说话者音量的回调。
该回调提示频道内瞬时音量较高的几个用户的用户 ID 及他们的音量。默认禁用。可以通过 enableAudioVolumeIndication 方法开启;开启后,无论频道内是否有人说话,都会按方法中设置的时间间隔返回提示音量。
音量较高的说话者的信息,包含:
uid
:用户 IDvolume
:本地用户:该用户的说话音量;远端用户:说话者各自混音后的音量vad
:本地用户:报告本地用户人声状态;远端用户:0音量较高的用户人数:
混音后总音量(分贝)。取值范围 [0,255]:
用户离开频道。
调用 leaveChannel 离开频道后,SDK 触发该回调。
通话相关统计信息。
通话信息详情
通话中本地视频流的统计信息回调。
本地视频流统计信息
通话中本地音频流的统计信息回调。
本地音频流统计信息
通话中远端视频流的统计信息回调。
远端视频流统计信息
通话中远端音频流的统计信息回调。
远端音频流统计信息
远端视频流传输的统计信息
远端音频流传输的统计信息
音频文件信息回调。
音频设备状态已改变回调。
设备 ID
设备类型,详见 MediaDeviceType
设备状态:
本地用户的音乐文件播放状态已改变回调。
当前音乐文件播放状态:
710
:音乐文件正常播放。该状态可能由 reason 720
、721
、722
、或 726
导致。711
:音乐文件暂停播放。该状态由 reason 725
导致。713
:音乐文件停止播放。该状态可能由 reason 723
或 724
导致。714
:音乐文件播放失败。该状态可能由 reason 701
、702
、或 703
导致。音乐文件播放状态改变的原因:
701
:音乐文件打开出错。例如,本地音乐文件不存在、文件格式不支持或无法访问在线音乐文件 URL。702
:音乐文件打开太频繁。如需多次调用 startAudioMixing,请确保调用间隔大于 500 ms。703
:音乐文件播放中断。720
:成功调用 startAudioMixing 播放音乐文件。721
:音乐文件完成一次循环播放。722
:音乐文件开始新的一次循环播放。723
:音乐文件完成所有循环播放。724
:成功调用 stopAudioMixing 停止播放音乐文件。725
:成功调用 pauseAudioMixing 暂停播放音乐文件。726
:成功调用 resumeAudioMixing 恢复播放音乐文件。远端音乐文件播放已开始回调。
当远端有用户调用 startAudioMixing 播放本地音乐文件,SDK 会触发该回调。
远端音乐文件播放已结束回调。
本地音效文件播放已结束回调。
当播放音效结束后,会触发该回调。
指定音效的 ID。每个音效均有唯一的 ID。
视频设备变化回调。
该回调提示系统视频设备状态发生改变,比如被拔出或移除。如果设备已使用外接摄像头采集,外接摄像头被拔开后,视频会中断。
设备 ID
设备类型,详见 MediaDeviceType
设备状态:
通话中每个用户的网络上下行 last mile 质量报告回调。
该回调描述每个用户在通话中的 last mile 网络状态,其中 last mile 是指设备到声网边缘服务器的网络状态。
该回调每 2 秒触发一次。如果远端有多个用户,该回调每 2 秒会被触发多次。
用户 ID。表示该回调报告的是持有该 ID 的用户的网络质量。 当 uid 为 0 时,返回的是本地用户的网络质量
该用户的上行网络质量,基于上行发送码率、上行丢包率、平均往返时延和网络 抖动计算。
该用户的下行网络质量,基于下行网络的丢包率、平均往返延时和网络抖动计算。
通话前网络上下行 last mile 质量报告回调。
该回调描述本地用户在加入频道前的 last mile 网络探测的结果,其中 last mile 是指设备到声网边缘服务器的网络状态。
在调用 enableLastmileTest 之后,该回调函数每 2 秒触发一次。如果远端有多个用户/主播,该回调每 2 秒会被触发多次。
网络上下行质量,基于上下行网络的丢包率和抖动计算,探测结果主要反映上行网络的状态。
通话前网络质量探测报告回调。
在调用 startLastmileProbeTest 之后,SDK 会在约 30 秒内返回该回调。
上下行 Last mile 质量探测结果。
已显示本地视频首帧回调。
本地视频首帧显示在本地视图上时,SDK 会触发此回调。
本地渲染视频的宽 (px)
本地渲染视频的高 (px)
从本地调用 joinChannel 到发生此事件过去的时间(毫秒)
用户 ID,指定是哪个用户的视频流
从本地调用 joinChannel 到发生此事件过去的时间(毫秒)
本地或远端视频大小和旋转信息发生改变回调。
图像尺寸和旋转信息发生变化的用户的用户 ID(本地用户的 uid
为 0
)
视频流的宽度(px)
视频流的高度(px)
旋转信息 [0, 360]
用户 ID,指定是哪个用户的视频流
视频流宽(px)
视频流高(px)
从本地调用 joinChannel 到发生此事件过去的时间(毫秒)
已接收到远端视频并完成解码回调。
SDK 收到第一帧远端视频流并解码成功时,触发此调用。
用户 ID,指定是哪个用户的视频流。
视频流宽(px)。
视频流高(px)。
从本地调用 joinChannel 开始到该回调触发的延迟(毫秒)。
远端用户(通信场景)/主播(直播场景)加入当前频道回调。
该回调在如下情况下会被触发:
新加入频道的远端用户/主播 ID
从本地调用 joinChannel 到发生此事件过去的时间(毫秒)
远端用户离开当前频道回调。
离线用户或主播的用户 ID。
离线原因
0
:用户主动离开。1
:因过长时间收不到对方数据包,超时掉线。注意:由于 SDK 使用的是不可靠通道,也有可能对方主动离开本方没收到对方离开消息而误判为超时掉线。2
:用户身份从主播切换为观众。远端用户(通信场景)/主播(直播场景)离开当前频道回调。
用户离开频道有两个原因,即正常离开和超时掉线:
主播 ID
离线原因
远端用户 ID
该用户是否暂停发送音频流
true
:该用户已暂停发送音频流false
:该用户已重新发送音频流远端用户暂停/重新发送视频流回调。
该回调是由远端用户调用 muteLocalVideoStream 方法关闭或开启音频发送触发的。
远端用户 ID
该用户是否暂停发送视频流
true
:该用户已暂停发送视频流false
:该用户已重新发送视频流用户 ID
该用户是否开启或关闭视频模块:
true
:该用户已启用视频模块。启用后,该用户可以进行视频通话或直播。false
:该用户已关闭视频模块。关闭后,该用户只能进行语音通话或直播,不能显示、发送自己的视频,也不能接收、显示别人的视频。用户 ID
该用户是否开启或关闭本地视频采集:
true
:该用户已启用本地视频采集。启用后,其他用户可以接收到该用户的视频流。false
:该用户已关闭视频采集。关闭后,该用户仍然可以接收其他用户的视频流,但其他用户接收不到该用户的视频流。网络连接中断,且 SDK 无法在 10 秒内连接服务器回调。
接收到对方数据流消息的回调。
该回调表示本地用户收到了远端用户调用 sendStreamMessage 方法发送的流消息。
用户 ID
数据流 ID
接收到的流消息
流消息数据长度
接收对方数据流小时发生错误回调。
该回调表示本地用户未收到远端用户调用 sendStreamMessage 方法发送的流消息。
用户 ID
数据流 ID
丢失的消息数量
数据流中断后,后面缓存的消息数量
媒体引擎成功启动的回调。
Token 已过期回调。
调用 joinChannel 时如果指定了 Token,由于 Token 具有一定的时效,在通话过程中 SDK 可能由于网络原因和服务器失去连接,重连时可能需要新的 Token。
该回调通知 App 需要生成新的 Token,并需调用 renewToken 为 SDK 指定新的 Token。
已发送本地音频首帧回调。
从本地用户调用 joinChannel 方法直至该回调被触发的延迟(毫秒)。
发送音频帧的远端用户的 ID
从调用 joinChannel 方法直至该回调被触发的延迟(毫秒)
用户 ID,指定是哪个用户的音频流
从本地用户调用 joinChannel 方法加入频道直至该回调触发的延迟,单位为毫秒
检测到活跃用户回调。
如果用户开启了 enableAudioVolumeIndication 功能,则当音量检测模块监测到频道内有新的活跃用户说话时,会通过本回调返回该用户的 uid
。
当前时间段内声音最大的用户的 uid
(本地用户 uid
为 0
)
用户角色已切换回调。
回调由本地用户在加入频道后调用 setClientRole 改变用户角色触发的。
切换前的角色
切换后的角色
回放、录音设备、或 App 的音量发生改变。
设备类型
当前音量(分贝)。取值范围 [0, 255]
音频设备是否为静音状态
true
:音频设备已静音false
:音频设备未被静音屏幕共享对象成功加入频道回调。
该对象的用户 ID
屏幕共享对象 Token 已过期回调。
屏幕共享对象离开频道回调。
通话中本地音频流的统计信息回调。
本地音频流统计信息
通话中本地视频流的统计信息回调。
本地视频流统计信息
本地或远端视频大小和旋转信息发生改变回调。
图像尺寸和旋转信息发生变化的用户的用户 ID(本地用户的 uid
为 0
)
视频流的宽度(px)
视频流的高度(px)
旋转信息 [0, 360]
本地视频状态发生改变回调
本地视频的状态发生改变时,SDK 会触发该回调返回当前的本地视频状态。你可以通过该回调了解当前视频的状态以及出现故障的原因,方便排查问题。
SDK 会在如下情况触发 localVideoStateChanged(LOCAL_VIDEO_STREAM_STATE_FAILED,LOCAL_VIDEO_STREAM_ERROR_CAPTURE_FAILURE)
回调:
摄像头输出采集的视频帧时,如果连续 15 帧中,所有视频帧都一样,SDK
触发 localVideoStateChanged(LOCAL_VIDEO_STREAM_STATE_CAPTURING,LOCAL_VIDEO_STREAM_ERROR_CAPTURE_FAILURE)
回调。
注意:帧重复检测仅针对分辨率大于 200 × 200,帧率大于等于 10 fps,码率小于 20 Kbps 的视频帧。
本地视频状态
本地视频出错原因
本地音频状态发生改变回调。
本地音频的状态发生改变时(包括本地麦克风采集状态和音频编码状态), SDK 会触发该回调报告当前的本地音频状态。在本地音频出现故障时, 该回调可以帮助你了解当前音频的状态以及出现故障的原因,方便你排查问题。
当前的本地音频状态。
本地音频出错原因。
远端用户视频流状态发生改变回调。
发生视频流状态改变的远端用户的用户 ID。
远端视频流状态
远端视频流状态改变的具体原因
从本地用户调用 joinChannel 方法到发生本事件经历的时间,单位为 ms。
相机对焦区域已改变回调。
发生改变的对焦区域相对于左上角的 x 坐标。
发生改变的对焦区域相对于左上角的 y 坐标。
发生改变的对焦区域的宽度 (px)。
发生改变的对焦区域的高度 (px)。
摄像头曝光区域已改变回调。
发生改变的曝光区域相对于左上角的 x 坐标。
发生改变的曝光区域相对于左上角的 y 坐标。
发生改变的曝光区域的宽度 (px)。
发生改变的曝光区域的高度 (px)。
Token 服务即将过期回调。
在调用 joinChannel 时如果指定了 Token,由于 Token 具有一定的时效,在通话过程中如果 Token 即将失效,SDK 会提前 30 秒触发该回调,提醒 App 更新 Token。当收到该回调时,用户需要重新在服务端生成新的 Token,然后调用 renewToken 将新生成的 Token 传给 SDK。
即将服务失效的 Token
新增的推流地址。
详细的错误信息
0
:推流成功1
:推流失败2
:参数错误。如果你在调用 addPublishStreamUrl 前没有调用 setLiveTranscoding 配置 LiveTranscoding
,SDK 会返回该错误10
:推流超时未成功19
:推流地址已经在推流130
:推流已加密不能推流停止旁路推流的结果回调。
该回调返回 removePublishStreamUrl 方法的调用结果。用于通知主播是否停止推流成功。
主播停止推流的 RTMP 地址。
旁路推流状态发生改变回调。
该回调返回本地用户调用 addPublishStreamUrl 或 removePublishStreamUrl 方法的结果。
旁路推流状态发生改变时,SDK 会触发该回调,并在回调中明确状态发生改变的 URL 地址及 当前推流状态。该回调方便推流用户了解当前的推流状态;推流出错时,你可以通过返回的错误码 了解出错的原因,方便排查问题。
推流状态发生改变的 URL 地址
推流状态:
0
: 推流未开始或已结束。成功调用 removePublishStreamUrl 后会返回该状态。1
: 正在连接声网推流服务器和 RTMP 服务器。调用 addPublishStreamUrl
后会返回该状态。2
: 推流正在进行。成功推流后,会返回该状态。3
: 正在恢复推流。当 CDN 出现异常,或推流短暂中断时,SDK 会自动尝试恢复推流,并返回该状态。2
。4
。如果觉得 60 秒太长,也可以主动调用
addPublishStreamUrl,再调用 removePublishStreamUrl 尝试重连。4
: 推流失败。失败后,你可以通过返回的错误码排查错误原因,也可以再次调用 addPublishStreamUrl 重新尝试推流。5
: SDK 正在与声网推流服务器和 CDN 服务器断开连接。
当你调用 remove
或 stop
方法正常结束推流时,SDK 会依次报告推流状态为 DISCONNECTING
、IDLE
。推流错误码:
0
: 推流成功。1
: 参数无效。请检查输入参数是否正确。2
: 推流已加密,不能推流。3
: 推流超时未成功。可调用 addPublishStreamUrl 重新推流。4
: 推流服务器出现错误。请调用 addPublishStreamUrl 重新推流。5
: RTMP 服务器出现错误。6
: 推流请求过于频繁。7
: 单个主播的推流地址数目达到上线 10。请删掉一些不用的推流地址再增加推流地址。8
: 主播操作不属于自己的流。例如更新其他主播的流参数、停止其他主播的流。请检查 App 逻辑。9
: 服务器未找到这个流。10
: 推流地址格式有错误。请检查推流地址格式是否正确。11
: 用户角色不是主播,该用户无法使用推流功能。请检查你的应用代码逻辑。13
: 非转码推流情况下,调用了 updateRtmpTranscoding
或 setLiveTranscoding
方法更新转码属性。请检查你的应用代码逻辑。14
: 主播的网络出错。15
: 你的 App ID 没有使用声网推流服务的权限。请参考前提条件开启推流服务。100
: 推流已正常结束。当你调用 removePublishStreamUrl 结束推流后,SDK 会返回该值。旁路推流设置被更新回调。该
回调用于通知主播 CDN 转码已成功更新。
setLiveTranscoding 方法中的转码合图参数(LiveTranscoding
)更新时,transcodingUpdated
回调会被触发并向主播报告更新信息。
本地发布流已回退为音频流回调。
如果你调用了设置本地推流回退选项 setLocalPublishFallbackOption 并将 option
设置为 2
时,当上行网络环境不理想、本地发布的媒体流回退为音频流时,或当上行网络改善、媒体流恢复为音视频流时,会触发该回调。
如果本地推流已回退为音频流,远端的 App 上会收到 userMuteVideo
的回调事件。
本地推流已回退或恢复:
true
:由于网络环境不理想,本地发布的媒体流已回退为音频流false
:由于网络环境改善,发布的音频流已恢复为音视频流远端订阅流已回退为音频流回调。
如果你调用了设置远端订阅流回退选项 setRemoteSubscribeFallbackOption 并将 option
设置为 2
时, 当下行网络环境不理想、仅接收远端音频流时,或当下行网络改善、恢复订阅音视频流时,会触发该回调。
远端订阅流因弱网环境不能同时满足音视频而回退为小流时,你可以使用 remoteVideoStats
回调来监控远端视频大小流的切换。
远端用户的 ID
远端订阅流已回退或恢复:
true
:由于网络环境不理想,远端订阅流已回退为音频流false
:由于网络环境改善,订阅的音频流已恢复为音视频流是否开启麦克风:
true
:麦克风已启用false
:麦克风已禁用网络连接状态已改变回调。
该回调在网络连接状态发生改变的时候触发,并告知用户当前的网络连接状态,和引起网络状态改变的原因。
当前的网络连接状态
引起当前网络连接状态发生改变的原因
本地网络类型发生改变回调。
当连接中断时,该回调能辨别引起中断的原因是网络切换还是网络条件不好。
网络类型,详见 NETWORK_TYPE。
本地用户成功注册 User Account 回调。
本地用户成功调用 registerLocalUserAccount 方法注册用户 User Account,或调用 joinChannelWithUserAccount 加入频道后,SDK 会触发该回调,并告知本地用户的 UID 和 User Account。包含如下参数:
本地用户的 UID
本地用户的 User account
远端用户信息已更新回调。
远端用户加入频道后, SDK 会获取到该远端用户的 UID 和 User Account,然后缓存一个包含了远端用户 UID 和 User Account 的 Mapping 表,并在本地触发该回调。
远端用户的 ID
标识用户信息的 UserInfo
对象,包含用户 UID 和 User account
本地视频状态发生改变回调
本地视频的状态发生改变时,SDK 会触发该回调返回当前的本地视频状态。你可以通过该回调了解当前视频的状态以及出现故障的原因,方便排查问题。
SDK 会在如下情况触发 localVideoStateChanged(LOCAL_VIDEO_STREAM_STATE_FAILED,LOCAL_VIDEO_STREAM_ERROR_CAPTURE_FAILURE)
回调:
摄像头输出采集的视频帧时,如果连续 15 帧中,所有视频帧都一样,SDK
触发 localVideoStateChanged(LOCAL_VIDEO_STREAM_STATE_CAPTURING,LOCAL_VIDEO_STREAM_ERROR_CAPTURE_FAILURE)
回调。
注意:帧重复检测仅针对分辨率大于 200 × 200,帧率大于等于 10 fps,码率小于 20 Kbps 的视频帧。
本地视频状态
本地视频出错原因
本地音频状态发生改变回调。
本地音频的状态发生改变时(包括本地麦克风采集状态和音频编码状态), SDK 会触发该回调报告当前的本地音频状态。在本地音频出现故障时, 该回调可以帮助你了解当前音频的状态以及出现故障的原因,方便你排查问题。
当前的本地音频状态。
本地音频出错原因。
远端音频流状态发生改变回调。
远端用户/主播音频状态发生改变时,SDK 会触发该回调向本地用户报告当前的远端音频流状态。
发生音频状态改变的远端用户 ID。
远端音频流状态码
远端音频流状态改变的原因码
从本地用户调用 joinChannel 方法到发生本事件经历的时间, 单位为 ms。
跨频道媒体流转发状态发生改变回调。
当跨频道媒体流转发状态发生改变时,SDK 会触发该回调,并报告当前的转发状态以及相关的 错误信息。
跨频道媒体流转发状态码
跨频道媒体流转发出错的错误码
跨频道媒体流转发事件回调。
该回调报告跨频道媒体流转发过程中发生的事件。详见 ChannelMediaRelayEvent
跨频道媒体流转发事件码
媒体附属信息接收成功回调。
发送方调用 sendMetadata 方法发送媒体附属信息后,当接收方接收到该媒体附属信息 时,SDK 触发本回调向接收方报告媒体附属信息。
媒体附属信息。
媒体附属信息发送成功回调。
发送方调用 sendMetadata 方法成功发送媒体附属信息后,SDK 触发本回调向发送方 报告媒体附属信息。
媒体附属信息。
已发布本地音频首帧回调。
从调用 joinChannel 方法到触发该回调的时间间隔(毫秒)。
已发布本地视频首帧回调。
从调用 joinChannel 方法到触发该回调的时间间隔(毫秒)。
旁路推流事件回调。
旁路推流 URL。
旁路推流事件码。
音频发布状态改变回调。
频道名。
之前的发布状态。
当前的发布状态。
两次状态变化时间间隔(毫秒)。
视频发布状态改变回调。
频道名。
之前的发布状态。
当前的发布状态。
两次状态变化时间间隔(毫秒)。
音频订阅状态发生改变回调。
频道名。
远端用户的 ID。
之前的订阅状态。
当前的订阅状态。
两次状态变化时间间隔(毫秒)。
视频订阅状态发生改变回调。
频道名。
远端用户的 ID。
之前的订阅状态。
当前的订阅状态。
两次状态变化时间间隔(毫秒)。
预留
报告虚拟背景是否成功开启。(beta 功能)
是否已成功开启虚拟背景:
虚拟背景开启出错的原因或开启成功的提示。详见 #VIRTUAL_BACKGROUND_SOURCE_STATE_REASON
报告本地用户的语音音调。
本地用户的语音音调,单位为 Hz。
直播场景下切换用户角色失败回调。
切换用户角色失败的原因。详见 CLIENT_ROLE_CHANGE_FAILED_REASON 。
当前的用户角色。详见 CLIENT_ROLE_TYPE 。
报告 Wi-Fi 连接质量不佳的原因和改善 Wi-Fi 连接的操作建议。
Wi-Fi 连接质量不佳的原因。详见 WLACC_MESSAGE_REASON 。
改善 Wi-Fi 连接质量的操作建议。详见 WLACC_SUGGEST_ACTION 。
根据 action
的值提供的详细帮助信息:
action
为 WLACC_SUGGEST_ACTION_CLOSE_TO_WIFI
,该参数的值为 NULL
。action
为 WLACC_SUGGEST_ACTION_CONNECT_SSID
,该参数的值为推荐用户连接的网络名称(SSID)。action
为 WLACC_SUGGEST_ACTION_CHECK_5G
,该参数的值为开启路由器 5G 频道的操作步骤的链接。action
为 WLACC_SUGGEST_ACTION_MODIFY_SSID
,该参数的值为修改网络名称(SSID)的操作步骤的链接。报告 Wi-Fi 加速效果。
当前的 Wi-Fi 加速效果。详见 WlAccStats 。
自加入频道后平均的 Wi-Fi 加速效果。详见 WlAccStats 。
代理连接状态回调。
频道名称。
用户 ID。
连接上的代理类型。详见 PROXY_TYPE 。
预留参数,暂不支持。
从调用 joinChannel
到 SDK 触发该回调的经过的时间(毫秒)。
预留接口,暂不支持。
暂停向所有目标频道转发媒体流。
暂停所有音效文件播放。
暂停播放音乐文件及混音。请在频道内调用该方法。
暂停音效文件播放。
指定音效的 ID。每个音效均有唯一的 ID
播放指定的本地或在线音效文件。
你可以多次调用该方法,传入不同的 soundId
和 filePath
,同时播放多个音效文件。
为获得最佳用户体验,Agora 推荐同时播放的音效文件不超过 3 个。
音效文件播放结束后,SDK 会触发 audioEffectFinished
回调。
音效的 ID。每个音效的 ID 具有唯一性。
如果你已通过 preloadEffect 将音效加载至内存,
请确保该参数与 preloadEffect
中设置的 soundId
相同。
音效文件的绝对路径或 URL 地址,需精确到文件名及后缀。
例如:C:\music\audio.mp4
。支持的音频格式包括 MP3、AAC、M4A、MP4、WAV、3GP。 详见
Supported Media Formats in Media Foundation。
如果你已通过 preloadEffect 将音效加载至内存,
请确保该参数与 preloadEffect
中设置的 filePath
相同。
音效循环播放的次数。
-1
: 无限循环播放。音效的音调,取值范围为 [0.5,2.0]。默认值为 1.0,表示原始音调。取值越小,则音调越低。
音效的空间位置。取值范围为 [-1.0,1.0],例如:
-1.0
: 音效出现在左边0.0
: 音效出现在正前方1.0
: 音效出现在右边音效的音量。取值范围为 [0.0,100.0]。默认值为 100.0,表示原始音量。取值越小,则音量越低。
是否将音效发布至远端:
音效文件的播放位置,单位为毫秒。
预加载音效文件。
为保证通信畅通,请注意控制预加载音效文件的大小,并在 joinChannel 前就使用该方法完成音效预加载。 音效文件支持以下音频格式:mp3,aac,m4a,3gp,wav。
指定音效的 ID。每个音效均有唯一的 ID。
音效文件的绝对路径
给通话评分。
通过 getCallId 函数获取的通话 ID
给通话的评分,最低 1 分,最高 5 分
(非必选项)给通话的描述,可选,长度应小于 800 字节
注册本地用户 User account。
该方法为本地用户注册一个 User Account。注册成功后,该 User Account 即可标识该本地用户的身份,用户可以使用它加入频道。 成功注册 User Account 后,本地会触发 onLocalUserRegistered 回调,告知本地用户的 UID 和 User Account。
该方法为可选。如果你希望用户使用 User Account 加入频道,可以选用以下两种方式:
两种方式的区别在于,提前调用 registerLocalUserAccount,可以缩短使用 joinChannelWithUserAccount 进入频道的时间。
为保证通信质量,请确保频道内使用同一类型的数据标识用户身份。即同一频道内需要统一使用 UID 或 User Account。如果有用户通过 RTC Web SDK 加入频道,请确保 Web 加入的用户也是同样类型。
你的项目在声网控制台注册的 App ID
用户 User Account。该参数为必填,最大不超过 255 字节,不可填 null。请确保注册的 User Account 的唯一性。以下为支持的字符集范围(共 89 个字符):
注册媒体附属信息观测器。
释放 AgoraRtcEngine
实例。
调用该方法后,用户将无法再使用和回调该 SDK 内的其它方法。
删除旁路推流地址。
调用该方法后,SDK 会在本地触发 streamUnpublished
回调,报告删除旁路推流地址的状态。
待删除的推流地址,格式为 RTMP。该字符长度不能超过 1024 字节。
将指定用户的视频从高帧率流中删除。删除后,你可以调用 setVideoRenderFPS 方法对视频流进行控制。
用户 ID
更新 Token。
如果启用了 Token 机制,过一段时间后使用的 Token 会失效。当报告错误码 109
或 tokenPrivilegeWillExpire
回调时,
你应重新获取 Token,然后调用该 API 更新 Token,否则 SDK 无法和服务器建立连接。
新的 Token
更新渲染尺寸。 当视图尺寸发生改变时,该方法可以根据视窗尺寸长宽比更新缩放比例,在收到下一个视频帧时,按照新的比例进行渲染。 该方法可以防止视图不连贯的问题。
存储渲染器 Map 的关键标识,如 uid
、videoSource
或 local
恢复向所有目标频道转发媒体流。
恢复播放所有音效文件。
恢复播放音乐文件及混音。请在频道内调用该方法。
恢复播放指定音效文件。
指定音效的 ID。每个音效均有唯一的 ID
指定当前音乐文件的播放音轨。
指定的播放音轨。该参数需小于或等于 \ref IRtcEngine::getAudioTrackCount "getAudioTrackCount" 的返回值。
声网提供自定义数据上报和分析服务。
发送媒体附属信息。
调用 registerMediaMetadataObserver 后,你可以调用本方法来发送媒体附属信息。
如果发送成功,发送方会收到 sendMetadataSuccess
回调,接收方会收到 receiveMetadata
回调。
媒体附属信息。
发送数据流。
该方法发送数据流消息到频道内所有用户。
SDK 对该方法的实现进行了如下限制:频道内每秒最多能发送 30 个包,且每个包最大为 1 KB。 每个客户端每秒最多能发送 6 KB 数据。频道内每人最多能同时有 5 个数据通道。
成功调用该方法后,远端会触发 streamMessage
回调,远端用户可以在该回调中获取接收到的流消息;
若调用失败,远端会触发 streamMessageError
回调。
数据流 ID,createDataStream 的返回值
待发送的数据
设置 SDK 预设人声音效的参数。
SDK 预设的音效:
ROOM_ACOUSTICS_3D_VOICE
.profile
参数设置 为 3
或 5
,否则该枚举设置无效。profile
参数设置为 4
或 5
。preset
设为 ROOM_ACOUSTICS_3D_VOICE
,则 param1
表示 3D 人声音效的环绕周期。
取值范围为 [1,60],单位为秒。默认值为 10,表示人声会 10 秒环绕 360 度。preset
设为 PITCH_CORRECTION
,则 param1
表示电音音效的基础调式。可设为如下值:1
:(默认)自然大调。2
: 自然小调。3
: 和风小调。preset
设为 ROOM_ACOUSTICS_3D_VOICE
,你需要将 param2
设置为 0。preset
设为 PITCH_CORRECTION
,则 param2
表示电音音效的主音音高。可设为如下值:1
: A2
: A#3
: B4
:(默认)C5
: C#6
: D7
: D#8
: E9
: F10
: F#11
: G12
: G#设置 SDK 预设的人声音效。
预设的音效选项。
设置当前音乐文件的声道模式。
声道模式。详见 AUDIO_MIXING_DUAL_MONO_MODE
。
调整本地播放的音乐文件的音调。
按半音音阶调整本地播放的音乐文件的音调,默认值为 0,即不调整音调。 取值范围为 [-12,12],每相邻两个值的音高距离相差半音。取值的绝对值越大,音调升高或降低得越多。
设置当前音乐文件的播放速度。
播放速度。推荐取值范围为 [50,400],其中:
设置音乐文件的播放位置。
该方法可以设置音频文件的播放位置,这样你可以根据实际情况播放文件,而不是非得从头到尾播放一个文件。
当前播放进度,单位为毫秒
通过设备 ID 指定音频播放设备
音频播放设备的 ID
设置当前音频播放设备为静音/不静音。
是否设置当前音频播放设备静音:
true
:设置当前音频播放设备静音false
:设置当前音频播放设备不静音设置音频播放设备的音量
播放设备音量(分贝)。取值范围 [0,255]
设置音频编码配置。
设置采样率、码率、编码模式和声道数:
0
:默认设置:1
:Speech standard:指定 32 kHz 采样率,语音编码,单声道,编码码率最大值为 18 Kbps2
:Music standard:指定 48 kHz 采样率,音乐编码,单声道,编码码率最大值为 48 Kbps3
:Music standard stereo:指定 48 kHz采样率,音乐编码,双声道,编码码率最大值为 56 Kbps4
:Music high quality:指定 48 kHz 采样率,音乐编码,单声道,编码码率最大值为 128 Kbps5
:Music high quality stereo:指定 48 kHz 采样率,音乐编码,双声道,编码码率最大值为 192 Kbps6
:IOT。设置音频应用场景:
0
:默认的音频应用场景1
:Chatroom entertainment:娱乐应用,需要频繁上下麦的场景2
:Education:教育应用,流畅度和稳定性优先3
:Game streaming:游戏直播应用,需要外放游戏音效也直播出去的场景4
:Showroom:秀场应用,音质优先和更好的专业外设支持5
:Chatroom gaming:游戏开黑8
:Meeting:会议场景,适用于人声为主的多人会议。设置音频录制设备
设备 ID
设置当前音频录制设备静音/不静音。
是否设置当前音频录制设备静音:
true
:设置静音false
:设置不静音设置录音设备的音量
录音设备的音量(分贝)。取值范围 [0, 255]
开启或关闭本地美颜功能,并设置美颜效果选项。
是否开启美颜功能:
true
:开启false
:(默认)关闭设置美颜选项,包含如下字段:
设置摄像头的采集偏好。
一般的视频通话或直播中,默认由 SDK 自动控制摄像头的输出参数。在如下特殊场景中,默认的参数通常无法满足需求,或可能引起设备性能问题,我们推荐调用该接口设置摄像头的采集偏好:
CAPTURER_OUTPUT_PREFERENCE_PERFORMANCE(1)
,避免性能问题。CAPTURER_OUTPUT_PREFERENCE_PERFORMANCE(1)
,以优化 CPU 和内存的资源分配CAPTURER_OUTPUT_PREFERENCE_PREVIEW(2)
CAPTURER_OUTPUT_PREFERENCE_MANUAL(3)
。摄像头采集偏好
设置频道场景。
声网会根据你的 app 使用场景进行不同的优化。
频道场景:
0
:(默认)通信1
:直播2
:游戏设置直播场景下的用户角色。
加入频道前,用户需要通过本方法设置观众或主播模式。
加入频道后,用户可以通过本方法切换用户模式。直播场景下,如果你在加入频道后调用该方法切换用户角色,
调用成功后,本地会触发 clientRoleChanged
事件;远端会触发 userJoined
事件。
用户角色:
设置直播场景下的用户角色和观众端延时级别。
直播场景中的用户角色。
用户具体设置,包含用户级别。
设置声网云代理服务。
云代理类型。该参数为必填参数,如果你不赋值,SDK 会报错。
-2
: 传入的参数无效-7
: SDK 尚未初始化设置色彩增强功能。
是否开启色彩增强功能:
色彩增强选项,用于设置色彩增强的效果。详见 ColorEnhanceOptions 。
当 setRenderMode 方法中的渲染模式设置为 3
时,调用该方法可以设备自定义的渲染器。
customRender
是一个类.
自定义渲染器
默认取消或恢复订阅远端用户的音频流。
是否默认取消订阅远端用户的音频流:
默认取消或恢复订阅远端用户的视频流。
是否默认取消订阅远端用户的视频流:
设置指定音效文件的播放位置。
音效 ID。请确保与 playEffect
中设置的 soundId
一致。
音效文件的播放位置,单位为毫秒。
-22
: 无法找到音效文件。请填写正确的 soundId
。设置播放音效文件音量。
音效文件的音量。取值范围为 [0.0, 100.0],100.0 为默认值,表示原始音量。
设置内置的加密方案。
加密方式。目前支持以下几种:
加密密码
是否启用全频带编解码器(48 kHz 采样率):
是否启用立体声编解码器:
是否启用高码率模式:
设置直播转码。
调用该方法更新 transcoding
参数时,SDK 会触发 transcodingUpdated
回调。
旁路推流转码合图相关设置
设置弱网条件下发布的音视频流回退选项。
网络不理想的环境下,音、视频的质量都会下降。使用该接口并将 option 设置为 STREAM_FALLBACK_OPTION_AUDIO_ONLY (2)
后,SDK 会:
当本地推流回退为音频流时,或由音频流恢复为音视频流时,SDK 会触发 localPublishFallbackToAudioOnly
回调。
本地推流回退处理选项:
STREAM_FALLBACK_OPTION_DISABLED (0)
:(默认)上行网络较弱时,不对音视频流作回退处理,但不能保证音视频流的质量STREAM_FALLBACK_OPTION_VIDEO_STREAM_LOW (1)
:(默认)下行网络较弱时只接收视频小流。该选项只对本方法无效。STREAM_FALLBACK_OPTION_AUDIO_ONLY (2)
:上行网络较弱时只发布音频流设置本地语音变声。
设置本地语音的变声效果选项。
设置本地语音音效均衡。
频谱子带索引。取值范围是 [0, 9],分别代表 10 个频带,对应的中心频率分别是 31,62,125,250,500,1k,2k,4k,8k,16 kHz
增益 (dB)。取值范围是 [-15, 15],默认值为 0
设置本地语音音调。
语音频率。可以在 [0.5, 2.0] 范围内设置。取值越小,则音调越低。默认值为 1.0,表示不需要修改音调
设置本地音效混响。
混响音效类型。:
0
:原始声音强度 (dB),即所谓的 dry signal,取值范围 [-20, 10]1
:早期反射信号强度 (dB),即所谓的 wet signal,取值范围 [-20, 10]2
:所需混响效果的房间尺寸。一般房间越大,混响越强,取值范围 [0, 100]3
:Wet signal 的初始延迟长度 (ms),取值范围 [0, 200]4
:混响持续的强度,取值范围为 [0, 100]设置混响音效的效果数值,各数值请参考 reverbKey
预设的本地语音混响效果选项
设置日志文件。
日志文件的完整路径
设置 SDK 输出的单个日志文件大小。
单个日志文件的大小,单位为 KB。默认值为 1024 KB。
如果你将 size
设为 1024 KB,SDK 会最多输出 5 MB 的日志文件。如果你将 size
设为
小于 1024 KB,单个日志文件最大仍为 1024 KB。
设置日志文件过滤器。
设置过滤器等级
0
:不输出任何日志0x080f
:输出所有的 API 日志,即CRITICAL、ERROR、WARNING、INFO 和 DEBUG 级别的日志。如果你想获取最完整的日志,可将日志级别设为该等级0x000f
:输出 CRITICAL、ERROR、WARNING、INFO 级别的日志。我们推荐你将日志级别设为该等级0x000e
:仅输出 CRITICAL、ERROR、WARNING 级别的日志0x000c
:仅输出 CRITICAL、ERROR 级别的日志0x0008
:仅输出 CRITICAL 级别的日志设置暗光增强功能。
是否开启暗光增强功能:
暗光增强选项,用于设置暗光增强的效果。详见 LowLightEnhanceOptions 。
设置媒体附属信息的最大大小。
调用 registerMediaMetadataObserver 后,你可以调用本方法来设置媒体附属信息 的最大大小。
媒体附属信息的最大大小。
通过 JSON 配置 SDK 提供技术预览或特别定制功能。
JSON 选项默认不公开。声网工程师正在努力寻求以标准化方式公开 JSON 选项。
JSON 字符串形式的参数
设置默认订阅的视频流类型。
在网络条件受限的情况下,如果发送端没有调用 enableDualStreamMode(false) 关闭双流模式, 接收端可以选择接收大流还是小流。其中,大流可以接为高分辨率高码率的视频流,小流则是低分辨率低码率的视频流。
正常情况下,用户接收大流。如需默认接收小流,可以调用本方法进行切换。SDK 会根据视频窗口的大小动态调整对应视频流的大小,以节约带宽和计算资源。
视频小流默认的宽高比和视频大流的宽高比一致。根据当前大流的宽高比,系统会自动分配小流的分辨率、帧率及码率。
设置视频流的类型:
设置弱网条件下订阅的音视频流回退选项。
网络不理想的环境下,音、视频的质量都会下降。使用该接口并将 option 设置为 STREAM_FALLBACK_OPTION_VIDEO_STREAM_LOW (1)
或者 STREAM_FALLBACK_OPTION_AUDIO_ONLY (2)
后,SDK 会:
当远端订阅流回退为音频流时,或由音频流恢复为音视频流时,SDK 会触发 remoteSubscribeFallbackToAudioOnly
回调。
远端订阅流回退处理选项:
STREAM_FALLBACK_OPTION_DISABLED (0)
:下行网络较弱时,不对音视频流作回退处理,但不能保证音视频流的质量STREAM_FALLBACK_OPTION_VIDEO_STREAM_LOW (1)
:(默认)下行网络较弱时只接收视频小流。该选项只对该方法有效,对 setLocalPublishFallbackOption 方法无效STREAM_FALLBACK_OPTION_AUDIO_ONLY (2)
:下行网络较弱时,先尝试只接收视频小流;如果网络环境无法显示视频,则再回退到只接收远端订阅的音频流设置远端用户媒体流的优先级。
如果将某个远端用户的优先级设为高,那么发给这个用户的音视频流的优先级就会高于其他用户。
该方法可以与 setRemoteSubscribeFallbackOption 搭配使用。如果开启了订阅流回退选项,弱网下 SDK 会优先保证高优先级用户收到的流的质量。
远端用户的 ID
远端用户的需求优先级
设置订阅的视频流类型。
在网络条件受限的情况下,如果发送端没有调用 enableDualStreamMode(false) 关闭双流模式, 接收端可以选择接收大流还是小流。其中,大流可以接为高分辨率高码率的视频流,小流则是低分辨率低码率的视频流。
正常情况下,用户默认接收大流。如需接收小流,可以调用本方法进行切换。SDK 会根据视频窗口的大小动态调整对应视频流的大小,以节约带宽和计算资源。
视频小流默认的宽高比和视频大流的宽高比一致。根据当前大流的宽高比,系统会自动分配小流的分辨率、帧率及码率。
调用本方法的执行结果将在 apiCallExecuted
中返回。
用户 ID
视频流类型
设置远端用户声音的空间位置和音量,方便本地用户听声辨位。
用户通过调用该接口,设置远端用户声音出现的位置,左右声道的声音差异会让用户产生声音的方位感,从而判断出远端用户的实时位置。 在多人在线游戏场景,如吃鸡游戏中,该方法能有效增加游戏角色的方位感,模拟真实场景。
远端用户的 ID
设置远端用户声音出现的位置,取值范围为 [-1.0, 1.0]:
设置远端用户声音的音量,取值范围为 [0.0, 100.0],默认值为 100.0,表示该用户的原始音量。取值越小,则音量越低
设置渲染模式。
该方法确定是使用 WebGL 渲染还是软件渲染。
渲染模式:
设置屏幕共享内容类型。
设置屏幕共享的内容类型。SDK 会根据不同的内容类型,使用不同的算法对共享效果进行优化。 如果不调用该方法,SDK 会将屏幕共享的内容默认为 CONTENT_HINT_NONE ,即无指定的内容类型。
指定屏幕共享的内容类型。详见 VideoContentHint
设置屏幕共享的场景。
屏幕共享的场景,详见 SCREEN_SCENARIO_TYPE 。
设置视频降噪功能。
是否开启视频降噪功能:
视频降噪选项,用于设置视频降噪的效果。详见 VideoDenoiserOptions。
设置视频设备。
设备 ID
设置视频编码属性。
该方法设置视频编码属性。每个属性对应一套视频参数,如分辨率、帧率、码率、视频方向等。 所有设置的参数均为理想情况下的最大值。当视频引擎因网络环境等原因无法达到设置的分辨率、帧率或码率的最大值时,会取最接近最大值的那个值。
如果用户加入频道后不需要重新设置视频编码属性,则声网建议在 enableVideo 前调用该方法,可以加快首帧出图的时间。
视频编码属性
视频属性
是否交换宽高值:
视频偏好选项:
设置视频渲染的分辨率。
该方法只对发送给 js 层的视频数据有效。其他端的视频分辨率由 setVideoEncoderConfiguration 方法决定。
渲染器的类型:
目标用户的 ID
想要发送的视频宽度
想要发送的视频高度
设置视频的全局渲染帧率。
该方法主要用来提升 js 渲染的性能。完成设置后,视频数据会被强制按设置的帧率进行传输,以降低 js 渲染的 CPU 消耗。
渲染帧率(fps)
设置高帧率流的渲染帧率。
其中高帧率流指调用 addVideoRenderToHighFPS 方法添加至高帧率的视频流。
渲染帧率(fps)
设置 SDK 预设美声效果的参数。
SDK 预设的音效:
SINGING_BEAUTIFIER
: 歌唱美声。歌声的性别特征:
1
: 男声。2
: 女声。歌声的混响效果:
1
: 歌声在小房间的混响效果。2
: 歌声在大房间的混响效果。3
: 歌声在大厅的混响效果。设置 SDK 预设的美声效果。
预设的美声效果选项。
设置单个音效文件的音量。
指定音效的 ID。每个音效均有唯一的 ID
音效文件的音量。取值范围为 [0.0, 100.0]。100.0 为默认值
设置本地视图和渲染器。
初始化视图的 Dom
双实例方法:设置 videoSource
的渲染器
播放共享视频的 Dom
设置远端视图和渲染器。
远端用户的用户 ID
初始化视图的 Dom
远端用户所在的频道名称
设置视窗内容显示模式。
用户 ID,表示设置的是哪个用户的流。设置远端用户的流时,请确保你已先调用 subscribe 方法订阅该远端用户流。
视窗内容显示模式:
开始音频设备回路测试。
该方法测试本地的音频设备是否正常工作。
调用该方法后,麦克风会采集本地语音并通过扬声器播放出来,用户需要配合说一段话。SDK 会通过 groupAudioVolumeIndication
回调向 App 上报音量信息。
SDK 返回 groupAudioVolumeIndication
回调的时间间隔,单位为毫秒。建议设置到大于 200 毫秒。最小不得少于 10 毫秒。
开始播放音乐文件。
该方法支持将本地或在线音乐文件和麦克风采集的音频进行混音或替换。成功播放音乐文件后,本地
会触发 audioMixingStateChanged(710,720)
回调。
播放结束后,本地会触发 audioMixingStateChanged(713,723)
回调。
音乐文件的绝对路径或 URL 地址,需精确到文件名及后缀。
例如:C:\music\audio.mp4
。支持的音频格式包括 MP3、AAC、
M4A、MP4、WAV、3GP。 详见
Supported Media Formats in Media Foundation。
是否只在本地播放音乐文件:
true
: 只在本地播放音乐文件,只有本地用户能听到音乐。false
: 将本地播放的音乐文件发布至远端,本地用户和远端用户都能听到音乐。是否用音乐文件替换麦克风采集的音频:
true
: 替换。用户只能听到音乐。false
: 不替换。用户可以听到音乐和麦克风采集的音频。音乐文件的播放次数。
-1
: 无限循环播放。音乐文件的播放位置,单位为毫秒。
开始音频播放设备测试。
该方法检测音频播放设备是否正常工作。SDK 会播放用户指定的音乐文件,如果用户可以听到声音,则说明播放设备正常工作。
用来测试的音乐文件的路径
开始客户端录音。
录音文件在本地保存的绝对路径,由用户自行指定,需精确到文件名及格式,
例如:c:/music/audio.aac
(Windows)和 /var/mobile/Containers/Data/audio.aac
(macOS)。
开始音频录制设备测试。
该方法测试麦克风是否正常工作。开始测试后,SDK 会通过 groupAudioVolumeIndication
回调向 App 上报音量信息。
groupAudioVolumeIndication
回调的周期(毫秒)
开始客户端录音。
录音配置。详见 AudioRecordingConfiguration。
-160
: 客户端正在录音。如需开始新的录音,
请先调用 stopAudioRecording 停止当前录音,再调用 startAudioRecording。开始跨频道媒体流转发。
该方法可用于实现跨频道连麦等场景。
成功调用该方法后,SDK 会触发 channelMediaRelayState
和 channelMediaRelayEvent
回调,并在回调中报告当前的跨频道媒体流转发状态和事件。
channelMediaRelayState
回调报告 ChannelMediaRelayState 中的
状态码 1
和 ChannelMediaRelayError 中错误码为 0
,且 channelMediaRelayEvent
回调报告
ChannelMediaRelayEvent 中的事件码 4
,则表示 SDK 开始在源频道和目标频道
之间转发媒体流。channelMediaRelayState
回调报告 ChannelMediaRelayState 中的
状态码 3
,则表示跨频道媒体流转发出现异常。跨频道媒体流转发参数配置
开始音视频通话回路测试。
音视频通话回路测试的配置。详见 EchoTestConfiguration
。
开始语音通话回路测试。
该方法启动语音通话测试,目的是测试系统的音频设备(耳麦、扬声器等)和网络连接是否正常。
在测试过程中,用户先说一段话,声音会在设置的时间间隔(单位为秒)后回放出来。如果用户能正常听到自己刚才说的话, 就表示系统音频设备和网络连接都是正常的。
设置返回语音通话回路测试结果的时间间隔(s)。取值范围为 [2, 10],默认为 10。
开始通话前网络质量探测。
启用该方法后,SDK 会向用户反馈上下行网络的带宽、丢包、网络抖动和往返时延数据。SDK 会一次返回如下两个回调:
lastMileQuality
:视网络情况约 2 秒内返回。该回调通过打分反馈上下行网络质量,更贴近用户的主观感受。lastmileProbeResult
:视网络情况约 30 秒内返回。该回调通过客观数据反馈上下行网络质量,因此更客观。该方法主要用于以下两种场景:
last mile 网络探测配置
开始 CDN 直播推流并设置转码属性。
旁路推流地址。格式为 RTMP 或 RTMPS。字符长度不能超过 1024 字节。不支持中文字符等特殊字符。
CDN 直播推流的转码属性,详见 LiveTranscoding 类。
开始非转码推流。
旁路推流地址。格式为 RTMP。字符长度不能超过 1024 字节。不支持中文字符等特殊字符。
通过窗口信息共享屏幕
待共享的窗口 ID
共享视频的编码帧率(fps)。默认值为 5,建议不要超过 15
(可选)共享区域相对于整个屏幕左上角的位置。如不填,则表示共享整个窗口。由如下参数组成:
窗口底部位置
窗口左侧位置
窗口右侧位置
窗口顶部位置
共享视频的码率(Kbps);默认值为 0,表示由 SDK 根据当前共享的分辨率计算出一个合理的值
待共享的窗口 ID
共享视频的编码帧率(fps)。默认值为 5,建议不要超过 15
共享窗口相对于屏幕左上角的相对位置和大小,可设为 null
共享视频的码率(Kbps);默认值为 0,表示由 SDK 根据当前共享的分辨率计算出一个合理的值
通过屏幕 ID 共享屏幕。
共享一个屏幕或该屏幕的部分区域。用户需要在该方法中指定想要共享的屏幕 ID。
指定待共享的屏幕 ID。开发者需要通过该参数指定你要共享的那个屏幕。关于如何获取屏幕 ID,请参考基础功能《共享屏幕》
或从 getScreenCaptureSources 返回的 sourceId
获取。
通过指定区域共享屏幕。
共享一个屏幕或该屏幕的部分区域。用户需要在该方法中指定想要共享的屏幕区域。
指定待共享的屏幕相对于虚拟屏的位置。详见 {@link screenSymbol}
(可选)指定待共享区域相对于整个屏幕屏幕的位置。如不填,则表示共享整个屏幕。 如果设置的共享区域超出了屏幕的边界,则只共享屏幕内的内容;如果将 width 或 height 设为 0 , 则共享整个屏幕。详见 CaptureRect
屏幕共享的编码参数配置。详见 CaptureParam
通过窗口 ID 共享窗口。
共享一个窗口或该窗口的部分区域。用户需要在该方法中指定想要共享的窗口 ID。
指定待共享的窗口 ID
可选)指定待共享的区域相对于整个窗口的位置。如不填,则表示共享整个窗口。 如果设置的共享区域超出了窗口的边界,则只共享窗口内的内容; 如果宽或高为 0,则共享整个窗口。详见 CaptureRect
屏幕共享的编码参数配置。详见 CaptureParam
双实例方法:开启预览共享屏幕。
开始视频设备测试。
该方法测试视频采集设备是否正常工作。
停止播放所有音效文件。
停止音频设备回路测试。
停止播放音乐文件及混音。请在频道内调用该方法。
停止播放设备测试。
停止音频录制设备测试。
停止跨频道媒体流转发。
一旦停止,主播会退出所有目标频道。
成功调用该方法后,SDK 会触发 channelMediaRelayState
回调。
如果报告 ChannelMediaRelayState 中的状态码 0
和 ChannelMediaRelayError
中的错误码 0
,则表示已停止转发媒体流。
停止语音通话回路测试。
停止播放指定音效文件。
指定音效的 ID。每个音效均有唯一的 ID
停止通话前 last mile 网络质量探测。
停止视频预览。
结束 CDN 直播推流。
旁路推流地址。格式为 RTMP 或 RTMPS。字符长度不能超过 1024 字节。不支持中文字符等特殊字符。
停止共享屏幕。
双实例方法:停止共享屏幕。
双实例方法:停止预览共享屏幕。
停止视频设备测试。
订阅远端用户并初始化渲染器。
想要订阅的远端用户的 ID
初始化渲染器的 Dom
快速切换直播频道。
当直播频道中的观众想从一个频道切换到另一个频道时,可以调用该方法,实现快速切换。
成功调用该方切换频道后,本地会先收到离开原频道的回调 leaveChannel
,
再收到成功加入新频道的回调 joinedChannel
。
在服务端生成的用于鉴权的 Token。详见从服务端生成 Token。
频道媒体设置选项。
获取视频截图。
频道名。
用户 ID。如果要对本地用户的视频截图,uid
设为 0。
截图的本地保存路径,需精确到文件名及格式,
例如:C:\Users\<user_name>\AppData\Local\Agora\<process_name>\example.jpg
(Windows)或
/App Sandbox/Library/Caches/example.jpg
(iOS)或 ~/Library/Logs/example.jpg
(macOS)
或 /storage/emulated/0/Android/data/<package name>/files/example.jpg
(Android)。请确保目录存在且可写。
取消注册媒体附属信息观测器。
释放音效文件。
指定音效的 ID。每个音效均有唯一的 ID
更新媒体流转发的频道。
成功开始跨频道转发媒体流后,如果你希望将流转发到多个目标频道,或退出当前的转发频道,可以 调用该方法。
成功调用该方法后,SDK 会触发 channelMediaRelayState
回调,向你报告
ChannelMediaRelayEvent 中的 事件码 7
。
跨频道媒体流转发参数配置
更新转码属性。
CDN 直播推流的转码属性,详见 LiveTranscoding 类。
更新屏幕共享的编码参数配置。
屏幕共享的编码参数配置。详见 CaptureParam
更新共享区域。
共享区域相对于整个屏幕左上角的位置。如不填,则表示共享整个窗口。由如下参数组成:
窗口底部位置
窗口左侧位置
窗口右侧位置
窗口顶部位置
双实例方法:启用音频模块(默认为关闭状态)。
双实例方法:开启或关闭内置加密。
是否开启内置加密:
配置内置加密模式和密钥。
-2
: 调用了无效的参数。需重新指定参数。-4
: 设置的加密模式不正确或加载外部加密库失败。需检查枚举值是否正确或重新加载外部加密库。-7
: SDK 尚未初始化。双实例方法:开启声卡采集。
启用声卡采集功能后,声卡播放的声音会被合到本地音频流中,从而可以发送到远端。
声卡的设备名。
"soundflower"
作为参数传入,SDK 会找到对应的虚拟声卡设备,并开始采集。Note: macOS 系统默认声卡
不支持采集功能,如需开启此功能需要 App 自己启用一个虚拟声卡,并将该虚拟声卡的名字
作为 deviceName
传入 SDK。声网测试并推荐 soundflower 作为虚拟声卡。是否开启与 Web SDK 之间的互通:
true
:开启与 Web SDK 的互通false
:不开启与 Web SDK 的互通双实例方法:初始化 videoSource
对象
你在声网控制台创建项目的 APP ID
ERR_INVALID_APP_ID (101)
: App ID 无效,请检查你的 App ID双实例方法:videoSource
加入频道。
在 App 服务器端生成的用于鉴权的 Token:
标识频道的频道名,最大不超过 64 字节。以下为支持的字符集范围(共 89 个字符):
频道信息
videoSource
的用户 ID。一个频道内不能出现相同的用户 ID。请确保 videoSource
用户 ID 和用户 joinChannel 时使用的 uid
不同。
双实例方法:videoSource
离开频道。
双实例方法:释放 videoSource
对象。
双实例方法:更新 videoSource
的 Token
新的 Token
双实例方法:设置 videoSource
的频道场景。
频道场景:
双实例方法:设置内置的加密方案。
加密方式。目前支持以下几种:
加密密码
双实例方法:设置屏幕共享对象的日志。
日志文件的完整路径
双实例方法:通过 JSON 配置 SDK 提供技术预览或特别定制功能。
JSON 格式的字符串。
双实例方法:设置共享屏幕的内容类型。
SDK 会根据不同的内容类型,使用不同的算法对共享效果进行优化。
如果不调用该方法,SDK 会将屏幕共享的内容默认为 CONTENT_HINT_NONE (0)
,即无指定的内容类型。
共享屏幕的内容类型
双实例方法:设置摄像头流的视频属性。
视频属性
是否交换视频的宽和高:
双实例方法:通过屏幕信息共享屏幕。
屏幕标识:
(可选)共享区域相对于整个屏幕左上角的位置。如不填,则表示共享整个屏幕。
屏幕共享的编码配置
双实例方法:通过窗口信息共享屏幕。
窗口 ID
(可选)共享区域相对于整个窗口左上角的位置。如不填,则表示共享整个窗口。
屏幕共享的编码配置
双实例方法:更新共享屏幕的编码配置。
共享屏幕的编码配置
双实例方法:更新共享区域。
共享区域相对于整个屏幕左上角的位置。如不填,则表示共享整个窗口。由如下参数组成:
窗口底部位置
窗口左侧位置
窗口右侧位置
窗口顶部位置
增加旁路推流地址。
调用该方法后,SDK 会在本地触发 streamPublished 回调,报告增加旁路推流地址的状态。