在声网引擎运行期间监听事件。
在声网引擎运行期间监听事件。
在声网引擎运行期间监听事件。
在声网引擎运行期间监听事件。
在声网引擎运行期间监听事件。
在声网引擎运行期间监听事件。
在声网引擎运行期间监听事件。
在声网引擎运行期间监听事件。
在声网引擎运行期间监听事件。
在声网引擎运行期间监听事件。
在声网引擎运行期间监听事件。
在声网引擎运行期间监听事件。
在声网引擎运行期间监听事件。
在声网引擎运行期间监听事件。
在声网引擎运行期间监听事件。
在声网引擎运行期间监听事件。
在声网引擎运行期间监听事件。
在声网引擎运行期间监听事件。
在声网引擎运行期间监听事件。
在声网引擎运行期间监听事件。
在声网引擎运行期间监听事件。
在声网引擎运行期间监听事件。
在声网引擎运行期间监听事件。
在声网引擎运行期间监听事件。
在声网引擎运行期间监听事件。
在声网引擎运行期间监听事件。
在声网引擎运行期间监听事件。
在声网引擎运行期间监听事件。
在声网引擎运行期间监听事件。
在声网引擎运行期间监听事件。
在声网引擎运行期间监听事件。
在声网引擎运行期间监听事件。
在声网引擎运行期间监听事件。
在声网引擎运行期间监听事件。
在声网引擎运行期间监听事件。
在声网引擎运行期间监听事件。
在声网引擎运行期间监听事件。
在声网引擎运行期间监听事件。
在声网引擎运行期间监听事件。
在声网引擎运行期间监听事件。
在声网引擎运行期间监听事件。
在声网引擎运行期间监听事件。
在声网引擎运行期间监听事件。
在声网引擎运行期间监听事件。
在声网引擎运行期间监听事件。
在声网引擎运行期间监听事件。
在声网引擎运行期间监听事件。
在声网引擎运行期间监听事件。
在声网引擎运行期间监听事件。
在声网引擎运行期间监听事件。
在声网引擎运行期间监听事件。
在声网引擎运行期间监听事件。
在声网引擎运行期间监听事件。
在声网引擎运行期间监听事件。
在声网引擎运行期间监听事件。
在声网引擎运行期间监听事件。
在声网引擎运行期间监听事件。
在声网引擎运行期间监听事件。
在声网引擎运行期间监听事件。
在声网引擎运行期间监听事件。
在声网引擎运行期间监听事件。
在声网引擎运行期间监听事件。
在声网引擎运行期间监听事件。
在声网引擎运行期间监听事件。
在声网引擎运行期间监听事件。
在声网引擎运行期间监听事件。
在声网引擎运行期间监听事件。
在声网引擎运行期间监听事件。
在声网引擎运行期间监听事件。
在声网引擎运行期间监听事件。
在声网引擎运行期间监听事件。
在声网引擎运行期间监听事件。
在声网引擎运行期间监听事件。
在声网引擎运行期间监听事件。
在声网引擎运行期间监听事件。
在声网引擎运行期间监听事件。
在声网引擎运行期间监听事件。
在声网引擎运行期间监听事件。
在声网引擎运行期间监听事件。
在声网引擎运行期间监听事件。
在声网引擎运行期间监听事件。
在声网引擎运行期间监听事件。
在声网引擎运行期间监听事件。
在声网引擎运行期间监听事件。
在声网引擎运行期间监听事件。
在声网引擎运行期间监听事件。
在声网引擎运行期间监听事件。
在声网引擎运行期间监听事件。
在声网引擎运行期间监听事件。
在声网引擎运行期间监听事件。
在声网引擎运行期间监听事件。
在声网引擎运行期间监听事件。
在声网引擎运行期间监听事件。
在声网引擎运行期间监听事件。
在声网引擎运行期间监听事件。
在声网引擎运行期间监听事件。
setVideoEncoderConfiguration 的兼容码率。 适配码率模式。该模式下, 视频在通信和直播场景下的码率均与基准码率一致。直播下如果选择该模式,视频帧率可能会低于设置的值。
使用系统默认最低编码码率。
setVideoEncoderConfiguration 的标准码率。(推荐)标准码率模式。该模式下, 视频在通信和直播场景下的码率有所不同:通信场景下,码率与基准码率一致;直播场景下,码率对照基准码率翻倍。
增加旁路推流地址。
调用该方法后,SDK会在本地触发 onRtmpStreamingStateChanged 回调, 报告增加旁路推流地址的状态。
Note
CDN 推流地址,格式为 RTMP。该字符长度不能超过 1024 字节。url 不支持中文字符等特殊字符。
true
,
需先调用 setLiveTranscoding 方法。添加本地视频水印。
该方法将一张 PNG 图片作为水印添加到本地发布的直播视频流上,同一直播频道中的观众、旁路直播观众和录制设备都能看到或采集到该水印图片。 声网当前只支持在直播视频流中添加一个水印,后添加的水印会替换掉之前添加的水印。
水印坐标和 setVideoEncoderConfiguration 方法中的设置有依赖关系:
ORIENTATION_MODE
固定为竖屏或自适应模式下的竖屏,那么水印使用竖屏坐标。setVideoEncoderConfiguration
方法中设置的视频尺寸,否则超出部分将被裁剪。Note
visibleInPreview
可设置水印在预览时是否可见。 - 如果你已设置本地视频为镜像模式,那么此处的本地水印也为镜像。为避免本地用户看本地视频时的水印也被镜像,声网建议你不要对本地视频同时使用镜像和水印功能,请在应用层实现本地水印功能。待添加的水印图片的本地路径。本方法支持从本地绝对/相对路径添加水印图片。
待添加的水印图片的设置选项,详见 WatermarkOptions 。
调节音乐文件本端播放音量。 该方法调节混音音乐文件在本端的播放音量大小。请在频道内调用该方法。
音乐文件音量范围为 0~100。100 (默认值) 为原始文件音量。
调节音乐文件远端播放音量。 该方法调节混音音乐文件在远端的播放音量大小。请在频道内调用该方法。
音乐文件音量范围为 0~100。100 (默认值) 为原始文件音量。
调节音乐文件的播放音量。 该方法调节混音音乐文件在本端和远端的播放音量大小。请在频道内调用该方法。
音乐文件音量范围为 0~100。100 (默认值)为原始文件音量。
调节本地播放的所有远端用户音量。
Note
adjustPlaybackSignalVolume
和
adjustAudioMixingPlayoutVolume 方法,并将 volume
设置为 0
。播放音量。为避免回声并提升通话质量,声网建议将 volume 值设为 [0,100]。如果 volume 值需超过 100,联系技术支持:
调节录音音量。
录音信号音量。为避免回声并提升通话质量,声网建议将 volume 值设为 [0,100]。如果 volume 值需超过 100,联系技术支持:
调节本地播放的指定远端用户音量。 你可以在通话中调用该方法调节指定远端用户在本地播放的音量。如需调节多个用户在本地播放的音量,则需多次调用该方法。
Note
远端用户 ID。
播放音量,取值范围为 [0,100]:
删除已添加的视频水印。
投诉通话质量。 该方法让用户就通话质量进行投诉。一般在通话结束后调用。
通话 getCallId 函数获取的通话 ID。
(非必选项) 给通话的描述,可选,长度应小于 800 字节。
创建数据流。 该方法用于创建数据流。声网生命周期内,每个用户最多只能创建 5 个数据流。频道内数据通道最多允许数据延迟 5 秒,若超过 5 秒接收方尚未收到数据流, 则数据通道会向 App 报错。
数据流 ID。
关闭音频模块。
Note
关闭网络测试。
关闭视频模块。 该方法可以在加入频道前或者通话中调用,在加入频道前调用,则自动开启纯音频模式,在通话中调用则由视频模式切换为纯音频频模式。 调用 enableVideo 方法可开启视频模式。 成功调用该方法后,远端会触发 onUserEnableVideo(false) 回调
Note
启用音频模块。 启用音频模块(默认为开启状态)。
Note
启用说话者音量提示。 该方法允许 SDK 定期向 App 反馈当前谁在说话以及说话者的音量。启用该方法后,无论频道内是否有人说话,都会在 onAudioVolumeIndication 回调中按设置的间隔时间返回音量提示。
指定音量提示的时间间隔:
平滑系数,指定音量提示的灵敏度。取值范围为 [0,10],建议值为 3。数字越大,波动越灵敏;数字越小,波动越平滑。
onAudioVolumeIndication
回调的 vad
参数会报告是否在本地检测到人声。onAudioVolumeIndication
回调的 vad
参数不会报告是否在本地检测到人声。开关双流模式。 该方法设置单流(默认)或者双流模式。发送端开启双流模式后,接收端可以选择接收大流还是小流。其中,大流指高分辨率、高码率的视频流,小流指低分辨率、 低码率的视频流。
开启或关闭内置加密。
在安全要求较高的场景下,声网建议你在加入频道前,调用 enableEncryption
方法开启内置加密。
同一频道内所有用户必须使用相同的加密模式和密钥。一旦所有用户都离开频道,该频道的加密密钥会自动清除。
Note
SM4_128_ECB
模式外,其他加密模式都需要在集成 SDK 时,额外添加加密库文件。是否开启内置加密:
配置内置加密模式和密钥。详见 EncryptionConfig。
开启耳返功能。
开启/关闭耳返功能:
启动网络测试。 该方法启用网络连接质量测试,用于检测用户目前的网络接入质量(上行网络质量)。默认该功能为关闭状态。该方法主要用于以下场景:
启用该方法均会消耗网络流量,影响通话质量。用户必须在收到 onLastmileQuality 回调后须调用 disableLastmileTest 停止测试,再加入频道或切换为主播。
Note
开关本地音频采集。
当用户加入频道时,语音功能默认是开启的。该方法可以关闭或重新开启本地语音功能,即停止或重新开始本地音频采集。
该方法不影响接收或播放远端音频流, enableLocalAudio (false) 适用于只听不发的用户场景。
语音功能关闭或重新开启后,会收到回调 onLocalAudioStateChanged ,
并报告 LOCAL_AUDIO_STREAM_STATE_STOPPED(0)
或 LOCAL_AUDIO_STREAM_STATE_RECORDING(1)
。
Note
该方法与 muteLocalAudioStream 的区别在于:
enableLocalAudio
关闭或开启本地采集后,
本地听远端播放会有短暂中断。开关本地视频采集。 该方法禁用或重新启用本地视频采集,不影响接收远端视频。 调用 enableVideo 后,本地视频即默认开启。你可以调用 enableLocalVideo(false) 关闭本地视频采集。关闭后如果想要重新开启,则可调用 enableLocalVideo(true) 。 成功禁用或启用本地视频采集后,远端会触发 onUserEnableLocalVideo 回调。
开启/关闭远端用户的语音立体声。 如果想调用 setRemoteVoicePosition 实现听声辨位的功能,请确保在加入频道前调用该方法开启 远端用户的语音立体声。
是否开启远端用户语音立体声:
启用视频模块。 该方法可以在加入频道前或者通话中调用,在加入频道前调用则自动开启视频模块;在通话中调用则由音频模式切换为视频模式。 调用 disableVideo 方法可关闭视频模式。 成功调用该方法后,远端会触发 onUserEnableVideo (true) 回调。
Note
获取音乐文件的播放进度。 该方法获取当前音乐文件播放进度,单位为毫秒。请在频道内调用该方法。
获取音乐文件总时长。 该方法获取音乐文件总时长,单位为毫秒。请在频道内调用该方法。
获取音乐文件的本地播放音量。 该方法获取混音的音乐文件本地播放音量,方便排查音量相关问题。
获取音乐文件的远端播放音量 该接口可以方便开发者排查音量相关问题。
获取当前通话 ID。
客户端在每次 joinChannel 后会生成一个对应的 CallId
,标识该客户端的此次通话。有些方法如
rate、complain 需要在通话结束后调用,向 SDK 提交反馈,这些方法必须指定 CallId
参数。
使用这些反馈方法,需要在通话过程中调用 getCallId 方法获取 CallId
,在通话结束后在反馈方法中作为参数传入。
当前的通话 ID。
获取当前网络连接状态。
获取音效文件的播放音量。 音量范围为 0~100。100 (默认值)为原始文件音量。
获取警告或错误描述。
AgoraRtcEvents.onWarning 或 onError 提供的警告码或错误码。
通过 UID 获取用户信息。
远端用户加入频道后, SDK 会获取到该远端用户的 UID 和 User Account,然后缓存一个包含了远端用户 UID 和 User Account 的 Mapping 表,
并在本地触发 onUserInfoUpdated 回调。收到这个回调后,你可以调用该方法,
通过传入 UID 获取包含了指定用户 User Account 的 UserInfo
。
用户 UID。该参数为必填
标识用户信息的 UserInfo。
通过 User Account 获取用户信息。
远端用户加入频道后,SDK 会获取到该远端用户的 UID 和 User Account,然后缓存一个包含了远端用户 UID 和 User Account 的 Mapping 表,
并在本地触发 onUserInfoUpdated 回调。收到这个回调后,你可以调用该方法,
通过传入 User Account 获取包含了指定用户 UID 的 UserInfo
。
用户 User Account。该参数为必填
一个包含了用户 User Account 和 UID 的 UserInfo
获取 SDK 的版本信息
当前的 SDK 版本号,格式为字符串,如 "3.1.2"
。
初始化声网引擎。
声网引擎内的所有接口函数,如无特殊说明,都是异步调用,对接口的调用建议在同一个线程进行。
Note
initWithAreaCode
的区别在于,
initWithAreaCode
支持在初始化声网引擎时指定访问区域。初始化声网引擎。
声网引擎内的所有接口函数,如无特殊说明,都是异步调用,对接口的调用建议在同一个线程进行。
Note
initWithAreaCode
的区别在于,
该方法支持在初始化声网引擎时指定访问区域。服务器的访问区域。该功能为高级设置,适用于有访问安全限制的场景。
支持的区域详见 AREA_CODE。 指定访问区域后,SDK 会连接指定区域内的声网服务器。
查询扬声器启用状态
true
: 扬声器已开启,语音会输出到扬声器false
: 扬声器未开启,语音会输出到非扬声器(听筒、耳机等)加入频道。
该方法让用户加入通话频道,在同一个频道内的用户可以互相通话,多个用户加入同一个频道,可以群聊。 使用不同 App ID 的 App 是不能互通的。如果已在通话中, 用户必须调用 leaveChannel 退出当前通话,才能进入下一个频道。 成功调用该方加入频道后,本地会触发 onJoinChannelSuccess 回调;通信场景下的用户和直播场景下 的主播加入频道后,远端会触发 onUserJoined 回调。 在网络状况不理想的情况下,客户端可能会与声网的服务器失去连接;SDK 会自动尝试重连,重连成功后,本地会触发 onRejoinChannelSuccess 回调。
动态秘钥。
标识通话的频道名称,长度在 64 字节以内的字符串。以下为支持的字符集范围(共 89 个字符):
(非必选项) 开发者需加入的任何附加信息。一般可设置为空字符串,或频道相关信息。该信息不会传递给频道内的其他用户。
(非必选项) 用户ID,32位无符号整数。建议设置范围:1到 232-1,并保证唯一性。如果不指定(即设为0),SDK 会自动分配一个,并在 onJoinChannelSuccess 回调方法中返回,App 层必须记住该返回值并维护,SDK不对该返回值进行维护。
使用 User Account 加入频道。 该方法允许本地用户使用 User Account 加入频道。成功加入频道后,会触发以下回调:
在 App 服务器端生成的用于鉴权的 Token:
标识频道的频道名,最大不超过 64 字节。以下为支持的字符集范围(共 89 个字符):
用户 User Account。该参数为必需,最大不超过 255 字节,不可为 null
。请确保注册的 User Account 的唯一性。以下为支持
的字符集范围(共 89 个字符):
离开频道。
离开频道,即挂断或退出通话。
当调用 joinChannel 方法后,必须调用 leaveChannel
结束通话,否则无法开始下一次通话。 不管当前是否在通话中,
都可以调用 leaveChannel
,没有副作用。该方法会把会话相关的所有资源释放掉。
该方法是异步操作,调用返回时并没有真正退出频道。在真正退出频道后,SDK 会触发 onLeaveChannel 回调。
成功调用该方法离开频道后,本地会触发 onLeaveChannel 回调;通信场景下的用户和直播场景下的主播离开频道
后,远端会触发 onUserOffline 回调。
Note
leaveChannel
后立即调用 release ,SDK 将无法触发
onLeaveChannel 回调。leaveChannel
方法, SDK 将自动调用 removePublishStreamUrl 方法。接收/停止接收所有音频流。
接收/停止接收所有远端视频流。
开关本地音频发送。 该方法用于允许/禁止往网络发送本地音频流。 成功调用该方法后,远端会触发 onUserMuteAudio 回调。
Note
setChannelProfile
后调用该方法。开关本地视频发送。 成功调用该方法后,远端会触发 onUserMuteVideo 回调。
Note
setChannelProfile
后调用该方法。接收/停止接收指定音频流。
指定用户的 ID
接收/停止接收指定远端用户的视频流。
指定用户的用户 ID。
停止在声网引擎运行期间监听事件。
暂停所有音效文件播放。
暂停播放音乐文件。 该方法暂停播放音乐文件。请在频道内调用该方法。
暂停音效文件播放。
指定音效文件的 ID。每个音效文件均有唯一的 ID。
播放指定音效文件。
你可以多次调用该方法,通过传入不同的音效文件的 soundID
和 filePath
,同时播放多个音效文件,实现音效叠加。为获得最佳用户体验,
我们建议同时播放的音效文件不要超过 3 个。
指定音效的 ID。每个音效均有唯一的 ID。
音效文件的绝对路径或 URL 地址,例如:c:/music/audio.mp4。建议填写文件后缀名。若无法确定文件后缀名,可不填。 支持的音频格式包括:mp3、mp4、m4a、aac、3gp、mkv 及 wav。 详见 Supported Media Formats in Media Foundation 。
设置音效循环播放的次数:
设置音效的音调 取值范围为 [0.5, 2]。默认值为 1.0,表示不需要修改音调。取值越小,则音调越低。
设置是否改变音效的空间位置。取值范围为 [-1.0, 1.0]:
设置是否改变单个音效的音量。取值范围为 [0.0, 100.0]。默认值为 100.0。取值越小,则音效的音量越低。
设置是否将音效传到远端:
将音效文件加载至内存。 该方法将指定音效文件预加载至内存。
指定音效文件的 ID。每个音效文件均有唯一的 ID。
音效文件的绝对路径。
给通话评分。 该方法能够让用户为通话评分,一般在通话结束后调用。
通话 getCallId 函数获取的通话 ID。
给通话的评分,最低 1 分,最高 5 分。如超过这个范围,SDK 会返回 ERR_INVALID_ARGUMENT(-2)
错误。
(非必选项) 给通话的描述,可选,长度应小于 800 字节。
注册本地用户 User Account。 该方法为本地用户注册一个 User Account。注册成功后,该 User Account 即可标识该本地用户的身份,用户可以使用它加入频道。成功注册 User Account 后, 本地会触发 onLocalUserRegistered 回调,告知本地用户的 UID 和 User Account。 该方法为可选。如果你希望用户使用 User Account 加入频道,可以选用以下两种方式:
两种方式的区别在于,提前调用 registerLocalUserAccount ,可以缩短使用 joinChannelWithUserAccount 进入频道的时间。
Note
userAccount
不能为空,否则该方法不生效。userAccount
在频道中的唯一性。你的项目在声网控制台注册的 App ID
用户 User Account。该参数为必填,最大不超过 255 字节,不可填 null
。请确保注册的 User Account 的唯一性。以下为支持的字符
集范围(共 89 个字符):
用户希望在观测器中使用的 METADATA 类型。目前仅支持 VIDEO_METADATA(0)
。详见:METADATA_TYPE。
注册数据包观测器。 该方法注册数据包观测器 (Packet Observer)。在声网 SDK 发送/接收(语音、视频)网络包时,会回调你定义的接口,App 可用此接口对数据做处理,例如加解密。
Note
IPacketObserver 。
销毁声网引擎。
该方法释放声网 SDK 使用的所有资源。有些 app 只在用户需要时才进行实时音视频通信,不需要时则将资源释放出来用于其他操作,该方法适用于此类情况。
调用 release
方法后,你将无法再使用 SDK 的其它方法和回调。如需再次使用实时音视频通信功能,你必须重新调用 create
方法重新初始化声网引擎。
Note
release
,否则由于 SDK 要等待回调返回才能回收相关的对象资源,会造成死锁。release
方法执行结束后再重新初始化。删除旁路推流地址。 调用该方法后,SDK 会在本地触发 onRtmpStreamingStateChanged 回调, 报告删除旁路推流地址的状态。
Note
待删除的旁路推流地址,格式为 RTMP。该字符长度不能超过 1024 字节。
更新 Token。 该方法用于更新 Token。如果启用了 Token 机制,过一段时间后使用的 Token 会失效。当:
CONNECTION_CHANGED_TOKEN_EXPIRED(9)
时。
App 应重新获取 Token,然后调用该方法更新 Token,否则 SDK 无法和服务器建立连接。新的 Token。
恢复播放所有音效文件。
恢复播放音乐文件。 该方法恢复混音,继续播放音乐文件。请在频道内调用该方法。
恢复播放指定音效文件。
指定音效文件的 ID。每个音效文件均有唯一的 ID。
声网提供自定义数据上报和分析服务。
该服务当前处于免费内测期。内测期提供的能力为 6 秒内最多上报 10 条数据,每条自定义数据不能超过 256 字节,每个字符串不能超过 100 字节。 如需试用该服务,请联系 sales@agora.io 开通并商定自定义数据格式。
发送 Metadata。
Note
发送的 Metadata 数据。
发送的 Metadata 的数据大小。
该 Metadata 的时间戳(毫秒)。
发送数据流。
该方法发送数据流消息到频道内所有用户。SDK 对该方法的实现进行了如下限制:频道内每秒最多能发送 30 个包,且每个包最大为 1 KB。 API 须 对数据通道的传送速率进行控制: 每个客户端每秒最多能发送 6 KB 数据。频道内每人最多能同时有 5 个数据通道。
成功调用该方法后,远端会触发 onStreamMessage 回调,远端用户可以在该回调中获取接收 到的流消息;若调用失败,远端会触发 onStreamMessageError 回调。
Note
由 createDataStream 返回的数据流 ID。
自定义数据。
数据长度。
调整本地播放的音乐文件的音调。
本地人声和播放的音乐文件混音时,调用该方法可以仅调节音乐文件的音调。
按半音音阶调整本地播放的音乐文件的音调,默认值为 0,即不调整音调。取值范围为 [-12,12], 每相邻两个值的音高距离相差半音。取值的绝对值越大,音调升高或降低得越多。
设置音乐文件的播放位置。 该方法可以设置音频文件的播放位置,这样你可以根据实际情况播放文件,而非从头到尾播放整个文件。
整数。进度条位置,单位为毫秒。
设置音频编码属性。
Note
joinChannel
之后设置不生效。profile
设置为 AUDIO_PROFILE_MUSIC_HIGH_QUALITY(4)``,scenario
设置为
AUDIO_SCENARIO_GAME_STREAMING(3)
。设置采样率,码率,编码模式和声道数: AUDIO_PROFILE_TYPE。
设置音频应用场景: #AUDIO_SCENARIO_TYPE 。不同的音频场景下,设备的系统音量是不同的。详见 如何区分媒体音量和通话音量。
是否开启美颜功能:
美颜选项。详见: BeautyOptions 。
设置摄像头采集偏好。 一般的视频通话或直播中,默认由 SDK 自动控制摄像头的输出参数。在如下特殊场景中,默认的参数通常无法满足需求,或可能引起设备性能问题, 我们推荐调用该方法设置摄像头的采集偏好:
CAPTURER_OUTPUT_PREFERENCE_PERFORMANCE(1)
,避免性能问题。CAPTURER_OUTPUT_PREFERENCE_PERFORMANCE(1)
,以优化 CPU 和内存的资源分配。CAPTURER_OUTPUT_PREFERENCE_PREVIEW(2)
。摄像头采集偏好,详见 CameraCapturerConfiguration。
设置频道场景。
该方法用于设置声网频道场景。声网会针对不同的使用场景采用不同的优化策略,如通信场景偏好流畅,直播场景偏好画质。
频道使用场景: CHANNEL_PROFILE_TYPE。
设置用户角色。
在加入频道前,用户需要通过本方法设置观众(默认)或主播。在加入频道后,用户可以通过本方法切换用户角色。
直播场景下,如果你在加入频道后调用该方法切换用户角色,调用成功后,本地会触发 onClientRoleChanged 回调; 远端会触发 onUserJoined 回调或 onUserOffline(BECOME_AUDIENCE) 回调。
直播场景里的用户角色: CLIENT_ROLE_TYPE
设置默认的语音路由 该方法设置接收到的语音从听筒或扬声器出声。如果用户不调用本方法,语音默认从听筒出声。 各频道场景下默认的语音路由:
Note
设置默认的语音路由
设置是否默认接收所有音频流。
该方法在加入频道前后都可调用。如果在加入频道后调用 setDefaultMuteAllRemoteAudioStreams(true)
,
会接收不到后面加入频道的用户的音频流。
设置是否默认停止接收视频流。
该方法在加入频道前后都可调用。如果在加入频道后调用 setDefaultMuteAllRemoteVideoStreams (true)
,会接收不到设置后加入频道的用户的视频流。
设置音效文件的播放音量。 音量范围为 0~100。100 (默认值)为原始文件音量。
该方法设置音效的音量。
启用/关闭扬声器播放
该方法设置是否将语音路由设到扬声器(外放)。 你可以在
setDefaultAudioRouteToSpeakerphone 方法中查看默认的语音路由。
在 Android 上, setAudioProfile 中 scenario
及
setChannelProfile 的设置
会影响 setEnableSpeakerphone
的行为。setEnableSpeakerphone
不生效的情况如下:
scenario
为 AUDIO_SCENARIO_GAME_STREAMING 时,所有用户都无法切换音频播放路由。scenario
为 AUDIO_SCENARIO_DEFAULT 或
AUDIO_SCENARIO_SHOWROOM 时,直播场景中的观众无法切换音频播放路由,且当频道中只有一个主播时,
该主播也无法切换音频播放路由。scenario
为 AUDIO_SCENARIO_EDUCATION 时,直播场景中的观众无法切换音频播放路由。Note
设置是否切换语音路由到扬声器(外放):
启用内置的加密方案。
加密模式:
启用内置加密,并设置数据加密密码。
加密密码。
全频带编解码器(48 kHz 采样率), 不兼容 v1.7.4 以前版本
立体声编解码器,不兼容 v1.7.4 以前版本
高码率模式,建议仅在纯音频模式下使用
设置耳返音量
设置耳返音量,取值范围在 [0,100]。默认值为 100
设置直播推流转码。 该方法用于旁路推流的视图布局及音频设置等。调用该方法更新转码设置后本地会触发 onTranscodingUpdated 回调。
Note
onTranscodingUpdated
回调。详见 LiveTranscoding。
设置弱网条件下发布的音视频流回退选项。
网络不理想的环境下,实时通信音视频的质量都会下降。使用该接口并将 option
设置为
STREAM_FALLBACK_OPTION_AUDIO_ONLY (2) 后,
SDK 会在上行弱网且音视频质量严重受影响时,自动关断视频流,从而保证或提高音频质量。同时 SDK 会持续监控网络质量,并在网络质量改善时恢复音视频流。
当本地推流回退为音频流时,或由音频流恢复为音视频流时,SDK 会触发本地发布的媒体流已回退为音频流
onLocalPublishFallbackToAudioOnly 回调。
本地发流回退处理选项,详见 STREAM_FALLBACK_OPTIONS。
设置本地语音变声、美音或语聊美声效果。
通信场景下的用户或直播场景下的主播均可调用该方法为本地语音设置以下效果。成功设置以后,频道内的所有用户均可听到声音效果。
VOICE_CHANGER
为前缀。效果包括老男人、小男孩、小女孩、猪八戒、空灵和绿巨人,通常用于语聊场景。VOICE_BEAUTY
为前缀。效果包括浑厚、低沉、圆润、假音、饱满、清澈、高亢、嘹亮和空旷,通常用于语聊和唱歌场景。GENERAL_BEAUTY_VOICE
为前缀。效果包括磁性(男)、清新(女)和活力(女),通常用于语聊场景。该功能主要细化了男声和女声各
自的特点。Note
profile
参数设置为
AUDIO_PROFILE_MUSIC_HIGH_QUALITY(4)
或 AUDIO_PROFILE_MUSIC_HIGH_QUALITY_STEREO(5)
。预设本地语音变声、美音或语聊美声效果选项,默认值为 VOICE_CHANGER_OFF ,即原声。 详见 VOICE_CHANGER_PRESET 。
设置语聊美声效果时,声网推荐使用 GENERAL_BEAUTY_VOICE_MALE_MAGNETIC 处理男声, 使用 GENERAL_BEAUTY_VOICE_FEMALE_FRESH 或 GENERAL_BEAUTY_VOICE_FEMALE_VITALITY 处理女声,否则音频可能会产生失真。
设置本地语音音效均衡。
频谱子带索引。取值范围是 [0,9],分别代表音效的 10 个频带。对应的中心频率为 [31,62,125,250,500,1k,2k,4k,8k,16k] Hz。详见 AUDIO_EQUALIZATION_BAND_FREQUENCY 。
每个 band 的增益,单位是 dB,每一个值的范围是 [-15,15]。
设置本地语音音调。
语音频率可以 [0.5,2.0] 范围内设置。取值越小,则音调越低。默认值为 1.0,表示不需要修改音调。
设置本地音效混响。 你也可以调用 setLocalVoiceReverbPreset 使用预设的音效混响,例如流行、R&B、摇滚音效。
混响音效 Key。该方法共有 5 个混响音效 Key: AUDIO_REVERB_TYPE 。
各混响音效 Key 所对应的值:
设置本地语音混响(含虚拟立体声效果)。 通信场景下的用户或直播场景下的主播均可调用该方法设置本地语音混响。成功设置以后,频道内的所有用户均可听到声音效果。
Note
AUDIO_REVERB_FX
为前缀的枚举值时,请确保在调用该方法前将 setAudioProfile 的 profile
参数
设置为 AUDIO_PROFILE_MUSIC_HIGH_QUALITY(4)
或 AUDIO_PROFILE_MUSIC_HIGH_QUALITY_STEREO(5)
,否则该方法设置无效。setAudioProfile
的 profile
参数
设置为 AUDIO_PROFILE_MUSIC_HIGH_QUALITY_STEREO(5)
。本地语音混响选项,默认值为 AUDIO_REVERB_OFF ,即原声。详见
AUDIO_REVERB_PRESET 。
为达到更好的混响效果,声网推荐使用以 AUDIO_REVERB_FX
为前缀的枚举值。
设置声网 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
写入最新的日志。
日志文件的完整路径。默认路径为如下:
/storage/emulated/0/Android/data/<package name>/files/agorasdk.log
App Sandbox/Library/caches/agorasdk.log
请确保指定的目录存在而且可写。你可通过该参数修改日志文件名。
设置声网 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
写入最新的日志。
单个日志文件的大小,单位为 KB。默认值为 1024 KB。如果你将 fileSizeInKByte
设为 1024 KB,SDK 会最多输出 5 MB 的日志文件。如果你将 fileSizeInKByte
设为小于 1024 KB,单个日志文件最大仍为 1024 KB。
设置日志输出等级。
设置声网 SDK 的输出日志输出等级。不同的输出等级可以单独或组合使用。日志级别顺序依次为 OFF
、CRITICAL
、ERROR
、WARNING
、INFO
和 DEBUG
。
选择一个级别,你就可以看到在该级别之前所有级别的日志信息。
例如,你选择 WARNING
级别,就可以看到在 CRITICAL
、ERROR
和 WARNING
级别上的所有日志信息。
设置过滤等级: LOG_FILTER_TYPE 。
请求最大的 Metadata 大小。
Metadata 结构体由如下字段组成:
uid
: 发送 Metadata 数据的用户 IDsize
: 发送或收到的 Metadata 的数据大小buffer
: 发送或收到的 Metadata 数据timeStampMs
: 该 Metadata 的时间戳(毫秒)通过 JSON 配置 SDK 提供技术预览或特别定制功能。 JSON 选项默认不公开。声网工程师正在努力寻求以标准化方式公开 JSON 选项。
JSON 字符串形式的参数
设置默认订阅的视频流类型。 在网络条件受限的情况下,如果发送端没有调用 enableDualStreamMode (false) 关闭双流模式, 接收端可以选择接收大流还是小流。其中,大流可以接为高分辨率高码率的视频流, 小流则是低分辨率低码率的视频流。 正常情况下,用户默认接收大流。如需默认接收所有用户的视频小流,可以调用本方法进行切换。SDK 会根据视频窗口的大小动态调整对应视频流的大小,以节约 带宽和计算资源。视频小流默认的宽高比和视频大流的宽高比一致。根据当前大流的宽高比,系统会自动分配小流的分辨率、帧率及码率。 调用本方法的执行结果将在 onApiCallExecuted 中返回。
视频流类型: REMOTE_VIDEO_STREAM_TYPE 。
设置弱网条件下订阅的音视频流的回退选项。
默认 option
为
STREAM_FALLBACK_OPTION_VIDEO_STREAM_LOW(1)。
如果你使用本方法并将 option
设置为
STREAM_FALLBACK_OPTION_AUDIO_ONLY(2),
SDK 会在下行弱网且音视频质量严重受影响时,将视频流切换为小流,或关断视频流,从而保证或提高音频质量。
同时 SDK 会持续监控网络质量,并在网络质量改善时恢复音视频流。
当远端订阅流回退为音频流时,或由音频流恢复为音视频流时,SDK 会触发 onRemoteSubscribeFallbackToAudioOnly 回调。
弱网条件下订阅的音视频流的回退选项。详见 STREAM_FALLBACK_OPTIONS。
设置远端用户流的优先级。 设置远端用户的优先级。如果将某个用户的优先级设为高,那么发给这个用户的音视频流的优先级就会高于其他用户。
弱网下 SDK 会优先保证高优先级用户收到的流的质量。
远端用户的 ID。
远端用户的需求优先级。详见: PRIORITY_TYPE 。
设置订阅的视频流类型。 在网络条件受限的情况下,如果发送端没有调用 enableDualStreamMode (false) 关闭双流模式, 接收端可以选择接收大流还是小流。其中,大流可以接为高分辨率高码率的视频流, 小流则是低分辨率低码率的视频流。 正常情况下,用户默认接收大流。如需接收小流,可以调用本方法进行切换。SDK 会根据视频窗口的大小动态调整对应视频流的大小,以节约带宽和计算资源。 视频小流默认的宽高比和视频大流的宽高比一致。根据当前大流的宽高比,系统会自动分配小流的分辨率、帧率及码率。 调用本方法的执行结果将在 onApiCallExecuted 中返回。
用户 ID。
视频流类型: REMOTE_VIDEO_STREAM_TYPE 。
设置远端用户的语音位置。 设置远端用户声音的空间位置和音量,方便本地用户听声辨位。 通过调用该接口设置远端用户声音出现的位置,左右声道的声音差异会产生声音的方位感,从而判断出远端用户的实时位置。在多人在线游戏场景,如吃鸡游戏中,该方法能有效增加游戏角色的方位感,模拟真实场景。
远端用户的 ID
设置远端用户声音的空间位置,取值范围为 [-1.0,1.0]:
设置远端用户声音的音量,取值范围为 [0.0,100.0],默认值为 100.0,表示该用户的原始音量。取值越小,则音量越低。
设置视频编码属性。 设置本地视频的编码属性。
视频编码参数配置。详见: VideoEncoderConfiguration。
视频属性。详见: VIDEO_PROFILE_TYPE 。
SDK 会按照你选择的视频属性 (profile) 输出固定宽高的视频。该参数设置是否交换宽和高:
设置视频优化选项(仅适用于直播)。
支持两种优化选项:
实时调整音效文件的播放音量。
指定音效的 ID。每个音效均有唯一的 ID。
播放音量。音量范围为 0~100。100 (默认值)为原始文件音量。
开始播放音乐文件。
指定本地或在线音频文件来和麦克风采集的音频流进行混音和替换。替换是指用音频文件替换录音设备采集的音频流。该方法可以选择是否让对方听到本地播
放的音频并指定循环播放的次数。成功调用该方法后,本地会触发
onAudioMixingStateChanged(PLAY) 回调。播放结束后,会收到
onAudioMixingStateChanged(STOPPED)
回调。
Note
WARN_AUDIO_MIXING_OPEN_ERROR
= 701。指定需要混音的本地或在线音频文件的绝对路径,例如:c:/music/audio.mp4。建议填写文件后缀名。若无法确定文件后缀名,可不填。 支持的音频格式包括:3GP、ASF、ADTS、AVI、MP3、MP4、MPEG-4、SAMI 和 WAVE。 详见 Supported Media Formats in Media Foundation 。
循环播放次数:
开始客户端录音。 声网 SDK 支持通话过程中在客户端进行录音。调用该方法后,你可以录制频道内所有用户的音频,并得到一个包含所有用户声音的录音文件。录音文件格式可以为:
Note
sampleRate
设为 44.1 kHz 或 48 kHz 时,建议将 quality
设为
AUDIO_RECORDING_QUALITY_MEDIUM 或
AUDIO_RECORDING_QUALITY_HIGH 。录音文件在本地保存的绝对路径,由用户自行指定,需精确到文件名及格式,例如:/dir1/dir2/dir3/audio.aac。
录音音质。详见 AUDIO_RECORDING_QUALITY_TYPE 。
录音采样率(Hz),可以设为以下值:
开始跨频道媒体流转发。该方法可用于实现跨频道连麦等场景。
成功调用该方法后,SDK 会触发 onChannelMediaRelayStateChanged 和 onChannelMediaRelayEvent 回调,并在回调中报告当前的跨频道媒体流转发状态和事件。
onChannelMediaRelayStateChanged
回调报告 RELAY_STATE_FAILURE (3),
则表示跨频道媒体流转发出现异常。Note
跨频道媒体流转发参数配置。详见 ChannelMediaRelayConfiguration。
开始语音通话回路测试。 该方法启动语音通话测试,目的是测试系统的音频设备(耳麦、扬声器等)和网络连接是否正常。 在测试过程中,用户先说一段话,声音会在设置的时间间隔(单位为秒)后回放出来。 如果用户能正常听到自己刚才说的话,就表示系统音频设备和网络连接都是正常的。
Note
startEchoTest
后必须调用 stopEchoTest 以结束测试,否则不能进行下一次回声测试,也无法加入频道。设置返回语音通话回路测试结果的时间间隔,取值范围为 [2, 10],单位为秒,默认为 10 秒。
开始通话前网络质量探测。
向用户反馈上下行网络的带宽、丢包、网络抖动和往返时延数据。
启用该方法后,SDK 会依次返回如下 2 个回调:
该方法主要用于以下两种场景:
Note
Last mile 网络探测配置,详见 LastmileProbeConfig。
开启视频预览。 该方法用于在进入频道前启动本地视频预览。调用该 API 前,必须调用 enableVideo 开启视频功能。
启用了本地视频预览后,如果调用 leaveChannel 退出频道,本地预览依然处于启动状态,如需要关闭本地预览, 需要调用 stopPreview 。
停止播放所有音效文件。
停止播放音乐文件。 该方法停止播放音乐文件。请在频道内调用该方法。
停止客户端录音。 停止录音。该接口需要在 leaveChannel 之前调用,不然会在调用 leaveChannel 时自动停止。
停止跨频道媒体流转发。一旦停止,主播会退出所有目标频道。
成功调用该方法后,SDK 会触发 onChannelMediaRelayStateChanged 回调。如果报告 RELAY_STATE_IDLE (0) 和 RELAY_OK (0),则表示已停止转发媒体流。
停止语音通话回路测试。
停止播放指定音效文件。
指定音效文件的 ID。每个音效文件均有唯一的 ID。
停止通话前网络质量探测。
停止视频预览。
切换前置/后置摄像头
设置使用的摄像头。详见 CAMERA_DIRECTION。
快速切换直播频道。
当直播频道中的观众想从一个频道切换到另一个频道时,可以调用该方法,实现快速切换。
成功调用该方切换频道后,本地会先收到离开原频道的回调 onLeaveChannel ,再收到成功加入新频道的回调 onJoinChannelSuccess。
在服务器端生成的用于鉴权的 Token:
标识频道的频道名,最大不超过 64 字节。以下为支持的字符集范围 (共 89 个字符):
从内存释放某个预加载的音效文件。
指定音效文件的 ID。每个音效文件均有唯一的 ID
更新媒体流转发的频道。成功开始跨频道转发媒体流后,如果你希望将流转发到多个目标频道, 或退出当前的转发频道,可以调用该方法。
成功调用该方法后,SDK 会触发 onChannelMediaRelayEvent 回调,并在回调中报告状态码 RELAY_EVENT_PACKET_UPDATE_DEST_CHANNEL (7)。
跨频道媒体流转发参数配置。详见 ChannelMediaRelayConfiguration。
在声网引擎运行期间监听事件。