- agoraLive
- 概述
- init
- joinChannelByToken
- leaveChannel
- renewToken
- muteLocalAudioStream
- muteAllRemoteAudioStreams
- muteRemoteAudioStream
- setEnableSpeakerphone
- isSpeakerphoneEnabled
- setSpeakerphoneVolume
- startAudioRecording
- stopAudioRecording
- getCallId
- rate
- complain
- monitorHeadsetEvent
- monitorBluetoothHeadsetEvent
- enableAudio
- enableAudioVolumeIndication
- setEncryptionSecret
- setEncryptionMode
- startRecordingService
- stopRecordingService
- setChannelProfile
- startAudioMixing
- stopAudioMixing
- setParameters
- getParameters
- warningListener
- errorListener
- audioQualityListener
- audioVolumeListener
- userJoinedListener
- rejoinChannelListener
- userOfflineListener
- userMuteAudioListener
- rtcStatsListener
- lastmileQualityListener
- connectionInterruptedListener
- connectionLostListener
- networkQualityListener
- setLogFile
- disableAudio
- initVideoRect
- enableVideo
- disableVideo
- startPreview
- stopPreview
- bringToFront
- addVideoClickListener
- setVideoProfile
- setupLocalVideo
- setupRemoteVideo
- switchCamera
- enableLocalVideo
- muteLocalVideoStream
- muteAllRemoteVideoStreams
- muteRemoteVideoStream
- firstLocalVideoFrameListener
- firstRemoteVideoFrameListener
- firstRemoteVideoDecodedListener
- userMuteVideoListener
- userEnableVideoListener
- localVideoStatListener
- remoteVideoStatListener
- cameraReadyListener
- videoStoppedListener
- streamMessageListener
- streamMessageErrorListener
- audioMixingFinishedListener
- setClientRole
- closePreview
- resetVideoRect
- setRemoteVideoStream
- enableWebSdkInteroperability
- setAudioProfile
- setLocalVoicePitch
- setInEarMonitoringVolume
- setLocalVoiceEqualization
- setLocalVoiceReverb
- setDefaultAudioRouteToSpeakerphone
- enableInEarMonitoring
- setClientRoleOrAndroid
- setBeautyEffectOptions
- destroy
agoraLive
来自于:AC模块工作室立即使用
音频、基础类
init joinChannelByToken leaveChannel renewToken muteLocalAudioStream muteAllRemoteAudioStreams muteRemoteAudioStream setEnableSpeakerphone isSpeakerphoneEnabled setSpeakerphoneVolume startAudioRecording stopAudioRecording getCallId rate complain monitorHeadsetEvent monitorBluetoothHeadsetEvent enableAudio enableAudioVolumeIndication setEncryptionSecret setEncryptionMode startRecordingService stopRecordingService setChannelProfile startAudioMixing stopAudioMixing setParameters getParameters warningListener errorListener audioQualityListener audioVolumeListener userJoinedListener rejoinChannelListener userOfflineListener userMuteAudioListener rtcStatsListener lastmileQualityListener connectionInterruptedListener connectionLostListener networkQualityListener setLogFile disableAudio
视频类
initVideoRect enableVideo disableVideo startPreview stopPreview bringToFront addVideoClickListener setVideoProfile setupLocalVideo setupRemoteVideo switchCamera enableLocalVideo muteLocalVideoStream muteAllRemoteVideoStreams muteRemoteVideoStream firstLocalVideoFrameListener firstRemoteVideoFrameListener firstRemoteVideoDecodedListener userMuteVideoListener userEnableVideoListener localVideoStatListener remoteVideoStatListener cameraReadyListener videoStoppedListener streamMessageListener streamMessageErrorListener audioMixingFinishedListener setClientRole closePreview resetVideoRect setRemoteVideoStream enableWebSdkInteroperability setAudioProfile setLocalVoicePitch setInEarMonitoringVolume setLocalVoiceEqualization setLocalVoiceReverb setDefaultAudioRouteToSpeakerphone enableInEarMonitoring setClientRoleOrAndroid setBeautyEffectOptions destroy
概述
声网, Agora。一个专注移动端的高清实时通话云服务解决方案的服务商。
团队
声网团队90%都是技术人员。除了赵斌,联合创始人还包括YY前技术委员会执行主席;团队中还有由IEEE DSP 特邀编辑领衔的音视频算法团队。整个团队拥有超过 20 年的 VoIP 技术积累,有年服务 4000 亿分钟语音通话的经验。
服务
声网在全球部署了近百个数据中心和近千台服务器,能够保障跨大洲、跨国家、跨运营商网络的实时数据传输质量。团队很有自信地宣称,在语音通话的质量上,他们有信心打败最有竞争力的技术对手,哪怕在硅谷。 由于是 To B 的云服务,声网的盈利模式也相对简单。声网面向企业收费,标准是每 1000分钟0.99美元,国内海外统一。这个基于规模效益的定价贴近于目前产品的成本价格,远低于客户自己运营维护这类服务的成本。 目前声网已经和国内许多产品在接洽合作,但团队没有透露具体已达成的合作。在国外,由于声网的海外版上线更早,已经有合作一段时间的产品了,比如针对“语言技能交换”的语音社交应用 HelloTalk。
优势
超便宜,每分钟0.00099 美元起。
超简单接入,30 分钟出 Demo。
多平台,Native 和 Web 互通。
1,实时通信 API 7x24 质量保证,新型实时传输网 SD-RTN,连接全球 200 多个国家和地区,无论何地,都能享受高质量的实时通话。为开发者提供保障 7x24 高质量的跨国跨网通话服务,无论你的用户身处何时何地,都能享受高质量的实时通话
2,整套 API 灵活调用。一个 SDK 一套 API ,实现音视频通话、多人连麦全互动直播。创建频道、录制、白板、屏幕共享等均有独立接口
3,通话质量数据实时监控。 ·通话质量数据 ·终端用户分布地区 ·通话设备平台分布 ·网络状况分布
4,全网 256 加密,美国 HIPAA 安全认证。 ·全网采用 256 加密,数据传输绝对安全 ·符合美国最严格 HIPAA 加密安全认证,医疗和多行业适用 ·提供加密 API,可行业定制加密
用户
小米,陌陌,talkSpace,TAL好未来,途牛,春雨国际,海尔,LeVR
模块简述
agoraLive 封装了声网直播的开放 SDK。声网直播功能强大。使用本模块前,需先到声网官方网站注册申请开发者账号,然后创建 app 获取 app id 等相关信息。本模块为收费模块,模块是对声网直播 SDK 的一层封装,以方便 APICloud 平台上的开发者,能迅速的集成声网直播功能。模块内涉及到的功能,以及产生的费用都是与声网之间的行为,与本模块及其开发者无关。模块开发者会定期维护更新优化升级该模块。
本模块分为两部分:
1,音频直播类:使用此类接口无需关心 UI 界面层,只需按照声网的规范要求设计自己的代码逻辑即可。
2,视频直播类:该类接口的 initVideoRect 相当于 open 了一个 frame。开发者可将直播视频区域当成一个 frame 层添加到 windows 上。然后自己再按照 UI 设计需求结合其它功能接口自定义一个功能 frame 层添加到视频层(模块层)上,以实现直播的功能。
注意:
1.在 iOS 平台上最低适配版本为 iOS8.0,云编译时需在右上角高级设置里将固件要求自定义最低适配版本号为8.0;
2.本次更新的SDK为2.2.3 版: 发布于 2018 年 7 月 5 日
3.目前暂时不支持 iPhone 8 上使用蓝牙耳机。
init
初始化引擎
init({params}, callback(ret))
params
appId:
- 类型:字符串
- 描述:在声网注册账号创建app后获取的id
callback(ret)
ret:
- 类型:JSON 对象
- 内部字段:
{
status: //布尔类型;true||false,是否初始化成功
}
示例代码
var agoraLive = api.require('agoraLive');
agoraLive.init({
appId:''
}, function(ret) {
if (ret.status) {
alert('初始化成功');
}
});
可用性
iOS系统,Android系统
可提供的1.0.0及更高版本
joinChannelByToken
加入通话频道
joinChannelByToken({params}, callback(ret, err))
params
channelToken:
- 类型:字符串
- 描述:(可选项)本参数为可选项,可不传。Agora 为应用程序开发者额外签发一个AppCertificate,如果你已经启用了 App Certificate, 请务必使用 Token。关于如何获取 Token,详见[https://docs.agora.io/cn/2.3.1/product/Video/Agora%20Platform/key_native]
channelId:
- 类型:字符串
- 描述:标识通话的频道名称,长度在64字节以内的字符串,以下为支持的字符集范围(共89个字 符):a-z A-Z 0-9 空格 ! #$%& ()+, - :;<=. >? @[] ^_` {|} ~
uid:
- 类型:数字
描述:(可选项) 用户ID,32位无符号整数。建议设置范围:1到(2^32-1),并保证唯一性。如果不指定(即设为 0),SDK会自动分配一个,并在 on
Success 回调方法中返 回,App层必须记住该返回值并维护,SDK不对该返回值进行维护。uid在SDK内部用32位无符号整数表示,由于Java不支持无符号整数,uid被当成32位有符号整数处理,对于过 大的整数, Java 会表示为负数,如有需要可以用(uid&0xffffffffL)转换成64位整数。
callback(ret, err)
ret:
- 类型:JSON 对象
- 内部字段:
{
status: true, //布尔类型;true||false,是否成功进入通话频道
channel: '123abc', //字符串类型;频道名
uid: 1234, //数字类型;用户id
elapsed: 100 //数字类型;从 joinChannel 开始到该事件产生的延迟(毫秒)
}
err:
- 类型:JSON 对象
- 内部字段:
{
code: //数字类型;错误码,取值范围如下:
//-2 :传递参数无效
//-3 :初始化失败,或未初始化
//-5 :SDK不能发起通话,可能是因为处于另一个通话中,或者创建频道失败
}
示例代码
var agoraLive = api.require('agoraLive');
agoraLive.joinChannelByToken({
channelToken: '',
channelId: '**************',
uid:
}, function(ret, err) {
if (ret.status) {
api.alert({msg:JSON.stringify(ret)});
} else {
api.alert({msg:JSON.stringify(err)});
}
});
可用性
iOS系统,Android系统
可提供的1.0.0及更高版本
leaveChannel
离开通话频道
leaveChannel(callback(ret))
callback(ret)
ret:
- 类型:JSON 对象
- 内部字段:
{
status: true, //布尔类型;true||false,是否成功离开频道
totalDuration: 1000, //数字类型;通话时长(s)
txBytes: 12342546, //数字类型;发送字节数( bytes)
rxBytes: 12343545, //数字类型;接收字节数( bytes)
txKBitRate: 100, //数字类型;发送码率( kbps),iOS 不支持此参数
rxKBitRate: 123, //数字类型;接收码率( kbps),iOS 不支持此参数
cpuTotalUsage: 23, //数字类型;当前系统的 CPU 使用率( %),iOS 不支持此参数
cpuAPPUsage:25 //数字类型;当前应用程序的 CPU 使用率( %),iOS 不支持此参数
}
示例代码
var agoraLive = api.require('agoraLive');
agoraLive.leaveChannel(function(ret) {
if (ret.status) {
api.alert({msg:JSON.stringify(ret)});
}
});
可用性
iOS系统,Android系统
可提供的1.0.0及更高版本
renewToken
更新 channelToken。若已启用 channelToken 机制,一段时间后 channelToken 会失效。当 errorListener 回调 109 时,重新获取 channelToken,需调用本接口更新 channelToken,否则无法和服务器建立连接。
renewToken({params}, callback(ret))
params
channelToken:
- 类型:字符串
- 描述:要更新的 channelToken
callback(ret)
ret:
- 类型:JSON 对象
- 内部字段:
{
status: true //布尔类型;true||false,是否更新成功
}
示例代码
var agoraLive = api.require('agoraLive');
agoraLive.renewToken({
channelToken:'*********'
}, function(ret) {
if (ret.status) {
api.alert({msg:'更新成功!'});
}
});
可用性
iOS系统,Android系统
可提供的1.0.0及更高版本
muteLocalAudioStream
静音/取消静音,该方法可用于允许/禁止往网络发送本地音频流
muteLocalAudioStream({params}, callback(ret))
params
muted:
- 类型:布尔
- 描述:(可选项)是否静音
- 默认:true
callback(ret)
ret:
- 类型:JSON 对象
- 内部字段:
{
status: true //布尔类型;true||false,操作是否成功
}
示例代码
var agoraLive = api.require('agoraLive');
agoraLive.muteLocalAudioStream({
muted: true
}, function(ret) {
if (ret.status) {
api.alert({msg:'操作成功!'});
}
});
可用性
iOS系统,Android系统
可提供的1.0.0及更高版本
muteAllRemoteAudioStreams
静音所有远端用户/对所有远端用户取消静音,本方法用于允许/禁止播放远端用户的音频流。
muteAllRemoteAudioStreams({params}, callback(ret))
params
muted:
- 类型:布尔
- 描述:(可选项)是否静音
- 默认:true
callback(ret)
ret:
- 类型:JSON 对象
- 内部字段:
{
status: true //布尔类型;true||false,操作是否成功
}
示例代码
var agoraLive = api.require('agoraLive');
agoraLive.muteAllRemoteAudioStreams({
muted: true
}, function(ret) {
if (ret.status) {
api.alert({msg:});
}
});
可用性
iOS系统,Android系统
可提供的1.0.0及更高版本
muteRemoteAudioStream
静音指定远端用户/对指定远端用户取消静音,本方法用于允许/禁止播放远端用户的音频流。
muteRemoteAudioStream({params}, callback(ret))
params
uid:
- 类型:数字
- 描述:指定用户id
muted:
- 类型:布尔
- 描述:(可选项)是否静音
- 默认:true
callback(ret)
ret:
- 类型:JSON 对象
- 内部字段:
{
status: true //布尔类型;true||false,操作是否成功
}
示例代码
var agoraLive = api.require('agoraLive');
agoraLive.muteRemoteAudioStream({
uid: '*************',
muted: true
}, function(ret) {
if (ret.status) {
alert('操作成功!');
}
});
可用性
iOS系统,Android系统
可提供的1.0.0及更高版本
setEnableSpeakerphone
切换音频输出方式(扬声器、听筒)
setEnableSpeakerphone({params}, callback(ret))
params
enabled:
- 类型:布尔
- 描述:(可选项)是否为扬声器
- 默认:true
callback(ret)
ret:
- 类型:JSON 对象
- 内部字段:
{
status: true //布尔类型;true||false,是否切换成功
}
示例代码
var agoraLive = api.require('agoraLive');
agoraLive.setEnableSpeakerphone({
enabled: true
}, function(ret) {
if (ret.status) {
alert('切换成功!');
}
});
可用性
iOS系统,Android系统
可提供的1.0.0及更高版本
isSpeakerphoneEnabled
判断当前设备是否是扬声器状态
isSpeakerphoneEnabled(callback(ret))
callback(ret)
ret:
- 类型:JSON 对象
- 内部字段:
{
status: true //布尔类型;true||false,是否为扬声器状态
}
示例代码
var agoraLive = api.require('agoraLive');
agoraLive.isSpeakerphoneEnabled(function(ret) {
if (ret.status) {
alert('扬声器');
}
});
可用性
iOS系统,Android系统
可提供的1.0.0及更高版本
setSpeakerphoneVolume
设定扬声器音量
setSpeakerphoneVolume({params}, callback(ret))
params
volume:
- 类型:数字
- 描述:音量,最小为 0,最大为 255
callback(ret)
ret:
- 类型:JSON 对象
- 内部字段:
{
status: //布尔类型;true||false,是否设置成功
}
示例代码
var agoraLive = api.require('agoraLive');
agoraLive.setSpeakerphoneVolume({
volume : '10'
},function(ret) {
if (ret.status) {
alert('设置成功');
}
});
可用性
iOS系统,Android系统
可提供的1.0.0及更高版本
startAudioRecording
在通话中进行录音,该接口需要在 joinChannel 之后调用。leaveChannel 时会自动停止录音
startAudioRecording({params}, callback(ret))
params
filePath:
- 类型:字符串
- 描述:录音文件的路径(包含后缀,如:fs://agoraLive/audio.wav),要求本地路径协议:fs://
callback(ret)
ret:
- 类型:JSON 对象
- 内部字段:
{
status: true, //布尔类型;true||false,录音是否成功
realPath: '' //字符串类型;录制音频文件绝对路径
}
示例代码
var agoraLive = api.require('agoraLive');
agoraLive.startAudioRecording({
filePath: 'fs://agoraLive/audio.wav'
}, function(ret) {
if (ret.status) {
api.alert({msg:JSON.stringify(ret)});
}
});
可用性
iOS系统,Android系统
可提供的1.0.0及更高版本
stopAudioRecording
停止录音
stopAudioRecording({params}, callback(ret))
callback(ret)
ret:
- 类型:JSON 对象
- 内部字段:
{
status: true //布尔类型;true||false,录音是否成功停止
}
示例代码
var agoraLive = api.require('agoraLive');
agoraLive.stopAudioRecording(function(ret) {
if (ret.status) {
alert('停止录音');
}
});
可用性
iOS系统,Android系统
可提供的1.0.0及更高版本
getCallId
获取当前的通话 ID
getCallId( callback(ret))
callback(ret)
ret:
- 类型:JSON 对象
- 内部字段:
{
status: true, //布尔类型;true||false,是否获取成功
callId: 124325 //字符串类型;本次通话 ID
}
示例代码
var agoraLive = api.require('agoraLive');
agoraLive.getCallId(function(ret) {
if (ret.status) {
api.alert({msg:JSON.stringify(ret)});
}
});
可用性
iOS系统,Android系统
可提供的1.0.0及更高版本
rate
通话结束后为本次通话评分
rate({params}, callback(ret))
params
callId:
- 类型:字符串
- 描述:通过 getCallId 函数获取的通话 ID
rating:
- 类型:数字
- 描述:给通话的评分,取值范围:1-10
description:
- 类型:字符串
- 描述:(可选项)评分本次通话的描述,小于 800 字节
callback(ret)
ret:
- 类型:JSON 对象
- 内部字段:
{
status:true //布尔类型;true||false,是否评分成功
}
示例代码
var agoraLive = api.require('agoraLive');
agoraLive.rate({
callId: '4624625624',
rating: 5,
description : '很好很强大'
}, function(ret) {
if (ret.status) {
alert('评分成功');
}
});
可用性
iOS系统,Android系统
可提供的1.0.0及更高版本
complain
通话结束后对本次通话质量的投诉
complain({params}, callback(ret))
params
callId:
- 类型:字符串
- 描述:通过 getCallId 函数获取的通话 ID
description:
- 类型:字符串
- 描述:(可选项)本次通话投诉的描述,小于 800 字节
callback(ret)
ret:
- 类型:JSON 对象
- 内部字段:
{
status: true //布尔类型;true||false,是否投诉成功
}
示例代码
var agoraLive = api.require('agoraLive');
agoraLive.complain({
callId: '24523452345',
description : '有杂音'
},function(ret) {
if (ret.status) {
alert('投诉成功!');
}
});
可用性
iOS系统,Android系统
可提供的1.0.0及更高版本
monitorHeadsetEvent
监听耳机插拔事件,在加入通话前调用。若不监听,则拔掉耳机时不会自动停止播放声音。iOS 不支持本接口,拔掉耳机即自动停止声音外放
monitorHeadsetEvent({params})
params
monitor:
- 类型:布尔
- 描述:是否开启/关闭监听耳机插拔事件
示例代码
var agoraLive = api.require('agoraLive');
agoraLive.monitorHeadsetEvent({
monitor: true
});
可用性
Android系统
可提供的1.0.0及更高版本
monitorBluetoothHeadsetEvent
监听蓝牙耳机事件,在加入通话前调用。iOS 不支持本接口,拔掉耳机即自动停止声音外放
monitorBluetoothHeadsetEvent({params})
params
monitor:
- 类型:布尔
- 描述:是否开启/关闭监听蓝牙耳机插拔事件
示例代码
var agoraLive = api.require('agoraLive');
agoraLive.monitorBluetoothHeadsetEvent({
monitor: true
});
可用性
Android系统
可提供的1.0.0及更高版本
enableAudio
打开音频 该方法设置内部引擎为启用状态,在 leaveChannel 后仍然有效。,android支持
enableAudio( callback(ret))
callback(ret)
ret:
- 类型:JSON 对象
- 内部字段:
{
status: true //布尔类型;true||false,是否设置成功
}
示例代码
var agoraLive = api.require('agoraLive');
agoraLive.enableAudio();
可用性
Android系统
可提供的1.0.0及更高版本
enableAudioVolumeIndication
启用说话者音量提示
enableAudioVolumeIndication({params}, callback(ret))
params
interval:
- 类型:数字
- 描述:指定音量提示的时间间隔,建议设置大于 200 毫秒。小于等于零时表示禁用音量提示功能,大于零时表示设置的提示间隔,单位为毫秒
smooth:
- 类型:数字
- 描述:(可选项)平滑系数
- 默认:3
callback(ret)
ret:
- 类型:JSON 对象
- 内部字段:
{
status: true //布尔类型;true||false,是否设置成功
}
示例代码
var agoraLive = api.require('agoraLive');
agoraLive.enableAudioVolumeIndication({
interval: '200',
smooth: 3
}, function(ret) {
if (ret.status) {
alert('设置成功');
}
});
可用性
iOS系统,Android系统
可提供的1.0.0及更高版本
setEncryptionSecret
启用内置的加密功能。
在加入频道之前,应用程序需调用本接口指定 secret 来启用内置的加密功能。
同一频道内的所有用户应设置相同的 secret。
当用户离开频道时,该频道的 secret 会自动清除。
如果未指定 secret 或将 secret 设置为空,则无法激活加密功能。
默认 AES-128-XTS 加密方式,若修改加密方式请调用 setEncryptionMode 接口。
setEncryptionSecret({params}, callback(ret))
params
secret:
- 类型:字符串
- 描述:加密密码
callback(ret, err)
ret:
- 类型:JSON 对象
- 内部字段:
{
status: true //布尔类型;true||false,是否设置成功
}
示例代码
var agoraLive = api.require('agoraLive');
agoraLive.setEncryptionSecret({
secret : '123456789'
}, function(ret) {
if (ret.status) {
alert('设置成功');
}
});
可用性
iOS系统,Android系统
可提供的1.0.0及更高版本
setEncryptionMode
设置内置的加密方案。
Agora 支持内置加密功能,默认使用 AES-128-XTS 加密方式。
通过本接口可设置使用其他加密方式。
同一频道内的所有用户必须设置相同的加密方式和 secret 才能进行通话。
setEncryptionMode({params}, callback(ret))
params
encryptionMode:
- 类型:字符串
- 描述:加密方式
- 默认:aes-128-xts
- 取值范围:
- aes-128-xts: 128 位 AES 加密, XTS 模式
- aes-256-xts: 256 位 AES 加密, XTS 模式
callback(ret, err)
ret:
- 类型:JSON 对象
- 内部字段:
{
status: true //布尔类型;true||false,是否设置成功
}
示例代码
var agoraLive = api.require('agoraLive');
agoraLive.setEncryptionMode({
encryptionMode: 'aes-256-xts'
}, function(ret) {
if (ret.status) {
alert('设置成功');
}
});
可用性
iOS系统,Android系统
可提供的1.0.0及更高版本
startRecordingService
启动服务端录音功能
startRecordingService({params}, callback(ret))
params
recordingKey:
- 类型:字符串
- 描述:录音KEY
callback(ret)
ret:
- 类型:JSON 对象
- 内部字段:
{
status: true //布尔类型;true||false,是否启动成功
}
示例代码
var agoraLive = api.require('agoraLive');
agoraLive.startRecordingService({
recordingKey : '123456'
},function(ret) {
if (ret.status) {
alert('启动成功');
}
});
可用性
iOS系统,Android系统
可提供的1.0.0及更高版本
stopRecordingService
停止服务端录音功能
stopRecordingService({params}, callback(ret))
params
recordingKey:
- 类型:字符串
- 描述:录音KEY
callback(ret)
ret:
- 类型:JSON 对象
- 内部字段:
{
status: true //布尔类型;true||false,是否停止成功
}
示例代码
var agoraLive = api.require('agoraLive');
agoraLive.stopRecordingService({
recordingKey : '123456'
},function(ret) {
if (ret.status) {
alert('停止成功');
}
});
可用性
iOS系统,Android系统
可提供的1.0.0及更高版本
setChannelProfile
设置频道通话模式。 Agora 引擎需知道应用程序的使用场景(例如群聊模式或主播模式),从而使用不同的优化手段。
setChannelProfile({params}, callback(ret))
params
profile:
- 类型:字符串
- 描述:指定频道的通话模式
- 取值范围:
- communication(通信模式:默认)
- liveBroadcasting (直播模式)
callback(ret, err)
ret:
- 类型:JSON 对象
- 内部字段:
{
status: true //布尔类型;true||false,是否设置成功
}
示例代码
var agoraLive = api.require('agoraLive');
agoraLive.setChannelProfile({
profile : 'communication'
}, function(ret) {
if (ret.status) {
alert('设置成功');
}
});
可用性
iOS系统,Android系统
可提供的1.0.0及更高版本
startAudioMixing
开启客户端本地混音。指定本地音频文件来和麦克风采集的音频流进行混音和替换(用音频文件替换麦克风采集的音频流),可以通过参数选择是否让对方听到本地播放的音频和指定循环播放的次数。 注:如需使用 startAudioMixing API,要求 Android 4.2 或以上设备,且 API Level>=16
startAudioMixing({params}, callback(ret))
params
filePath:
- 类型:字符串
- 描述:需要混音的本地音频文件名和文件路径,支持格式:mp3,aac,m4a,3gp,wav,flac
loopback:
- 类型:布尔
- 描述:(可选项)是否只有本地可以听到混音或替换后的音频流
- 默认:true
replace:
- 类型:布尔
- 描述:(可选项)是否将音频文件内容替换本地录音的音频流
- 默认:true
cycle:
- 类型:数字
- 描述:(可选项)指定音频文件循环播放的次数,为-1时表示无限循环
- 默认:0
callback(ret, err)
ret:
- 类型:JSON 对象
- 内部字段:
{
status: true //布尔类型;true||false,是否设置成功
}
示例代码
var agoraLive = api.require('agoraLive');
agoraLive.startAudioMixing({
filePath: 'fs://test.mp3',
loopback: false,
replace: false,
cycle: -1
}, function(ret) {
if (ret.status) {
alert('设置成功');
}
});
可用性
iOS系统,Android系统
可提供的1.0.0及更高版本
stopAudioMixing
停止客户端本地混音
stopAudioMixing(callback(ret))
callback(ret, err)
ret:
- 类型:JSON 对象
- 内部字段:
{
status: true //布尔类型;true||false,是否停止成功
}
示例代码
var agoraLive = api.require('agoraLive');
agoraLive.stopAudioMixing(function(ret) {
if (ret.status) {
alert('操作成功');
}
});
可用性
iOS系统,Android系统
可提供的1.0.0及更高版本
setParameters
特有属性设置
setParameters({params},callback(ret))
params
options:
- 类型:字符串
- 描述:将特有参数组装为 json 字符串设置给 Agroa 引擎
callback(ret, err)
ret:
- 类型:JSON 对象
- 内部字段:
{
status: true //布尔类型;true||false,是否设置成功
}
示例代码
var agoraLive = api.require('agoraLive');
agoraLive.setParameters({
options: ''
}, function(ret) {
if (ret.status) {
alert('设置成功');
}
});
可用性
iOS系统,Android系统
可提供的1.0.0及更高版本
getParameters
获取 Agora 引擎特有属性值
getParameters({params},callback(ret))
params
parameter:
- 类型:字符串
- 描述:sdk options in json format
args:
- 类型:字符串
- 描述:sdk options in json format
callback(ret, err)
ret:
- 类型:JSON 对象
- 内部字段:
{
status: true, //布尔类型;true||false,是否获取成功
result: '' //字符串类型;获取的参数
}
示例代码
var agoraLive = api.require('agoraLive');
agoraLive.getParameters(function(ret) {
if (ret.status) {
api.alert({msg:JSON.stringify(ret)});
}
});
可用性
iOS系统,Android系统
可提供的1.0.0及更高版本
warningListener
监听警告信息
warningListener({params}, callback(ret))
params
enable:
- 类型:布尔
- 描述:(可选项)是否启动警告监听
- 默认:true
callback(ret)
ret:
- 类型:JSON 对象
- 内部字段:
{
errCode: 20 //数字类型;错误码,取值范围如下:
//20:AgoraRtc_Warn_Pending
//103:AgoraRtc_Warn_NoAvailableChannel
//104:AgoraRtc_Warn_LookupChannelTimeout
//105:AgoraRtc_Warn_LookupChannelRejected
//106:AgoraRtc_Warn_OpenChannelTimeout
//107:AgoraRtc_Warn_OpenChannelRejected
//1014:AgoraRtc_Warn_Adm_RuntimePlayoutWarning
//1016:AgoraRtc_Warn_Adm_RuntimeRecordingWarning
//1019:AgoraRtc_Warn_Adm_RecordAudioSilence
//1020:AgoraRtc_Warn_Adm_PlaybackMalfunction
//1021:AgoraRtc_Warn_Adm_RecordMalfunction
//1025:AgoraRtc_Warn_Adm_Interruption
//1026:AgoraRtc_Warn_Adm_RouteChange
//1051:AgoraRtc_Warn_Apm_Howling
}
示例代码
var agoraLive = api.require('agoraLive');
agoraLive.warningListener({
enable:true
},function(ret) {
api.alert({msg:JSON.stringify(ret)});
});
可用性
iOS系统,Android系统
可提供的1.0.0及更高版本
errorListener
监听错误信息
errorListener({params}, callback(ret))
params
enable:
- 类型:布尔
- 描述:(可选项)是否启动错误监听
- 默认:true
callback(ret)
ret:
- 类型:JSON 对象
- 内部字段:
{
errCode: 101 //数字类型;取值范围如下:
// 101:无效的 App ID
// 102:无效的频道名
// 105:查找频道失败,意味着服务器主动拒绝了请求
// 107:加入频道失败,意味着媒体服务器主动拒绝了请求
// 1001:加载媒体引擎失败
// 1002:打开本地音视频设备、启动通话失败
// 1003:打开本地摄像头失败
//以下是 iOS 平台上错误码
//0:AgoraRtc_Error_NoError
//1:AgoraRtc_Error_Failed
//2:AgoraRtc_Error_InvalidArgument
//3:AgoraRtc_Error_NotReady
//4:AgoraRtc_Error_NotSupported
//5:AgoraRtc_Error_Refused
//6:AgoraRtc_Error_BufferTooSmall
//7:AgoraRtc_Error_NotInitialized
//8:AgoraRtc_Error_InvalidView
//9:AgoraRtc_Error_NoPermission
//10:AgoraRtc_Error_TimedOut
//11:AgoraRtc_Error_Canceled
//12:AgoraRtc_Error_TooOften
//13:AgoraRtc_Error_BindSocket
//14:AgoraRtc_Error_NetDown
//15:AgoraRtc_Error_NoBufs
//16:AgoraRtc_Error_InitVideo
//17:AgoraRtc_Error_JoinChannelRejected
//18:AgoraRtc_Error_LeaveChannelRejected
//19:AgoraRtc_Error_AlreadyInUse
//101:AgoraRtc_Error_InvalidAppId
//102:AgoraRtc_Error_InvalidChannelName
//109:AgoraRtc_Error_ChannelKeyExpired
//110:AgoraRtc_Error_InvalidChannelKey
//111:AgoraRtc_Error_ConnectionInterrupted
//112:AgoraRtc_Error_ConnectionLost
//113:AgoraRtc_Error_NotInChannel
//114:AgoraRtc_Error_SizeTooLarge
//115:AgoraRtc_Error_BitrateLimit
//116:AgoraRtc_Error_TooManyDataStreams
//120:AgoraRtc_Error_DecryptionFailed
//1001:AgoraRtc_Error_LoadMediaEngine
//1002:AgoraRtc_Error_StartCall
//1003:AgoraRtc_Error_StartCamera
//1004:AgoraRtc_Error_StartVideoRender
//1005:AgoraRtc_Error_Adm_GeneralError
//1006:AgoraRtc_Error_Adm_JavaResource
//1007:AgoraRtc_Error_Adm_SampleRate
//1008:AgoraRtc_Error_Adm_InitPlayout
//1009:AgoraRtc_Error_Adm_StartPlayout
//1010:AgoraRtc_Error_Adm_StopPlayout
//1011:AgoraRtc_Error_Adm_InitRecording
//1012:AgoraRtc_Error_Adm_StartRecording
//1013:AgoraRtc_Error_Adm_StopRecording
//1015:AgoraRtc_Error_Adm_RuntimePlayoutError
//1017:AgoraRtc_Error_Adm_RuntimeRecordingError
//1018:AgoraRtc_Error_Adm_RecordAudioFailed
//1020:AgoraRtc_Error_Adm_Play_Abnormal_Frequency
//1021:AgoraRtc_Error_Adm_Record_Abnormal_Frequency
//1022:AgoraRtc_Error_Adm_Init_Loopback
//1023:AgoraRtc_Error_Adm_Start_Loopback
//1501:AgoraRtc_Error_Vdm_Camera_Not_Authorized
}
示例代码
var agoraLive = api.require('agoraLive');
agoraLive.errorListener({
enable:true
}, function(ret) {
api.alert({msg:JSON.stringify(ret)});
});
可用性
iOS系统,Android系统
可提供的1.0.0及更高版本
audioQualityListener
声音质量监听
audioQualityListener({params}, callback(ret))
params
enable:
- 类型:布尔
- 描述:(可选项)是否启动声音质量监听
- 默认:true
callback(ret)
ret:
- 类型:JSON 对象
- 内部字段:
{
uid: 123, //数字类型;说话方的用户 ID
quality:0, //数字类型;语音质量评分,取值范围如下:
//0:AgoraRtc_Quality_Unknown
//1:QUALITY_EXCELLENT
//2:QUALITY_GOOD
//3:QUALITY_POOR
//4:QUALITY_BAD
//5:QUALITY_VBAD
//6:QUALITY_DOWN
delay:25, //数字类型;延迟(毫秒)
lost:10 //数字类型;丢包率(百分比)
}
示例代码
var agoraLive = api.require('agoraLive');
agoraLive.audioQualityListener({
enable: true
},function(ret) {
api.alert({msg:JSON.stringify(ret)});
});
可用性
iOS系统,Android系统
可提供的1.0.0及更高版本
audioVolumeListener
声音音量监听
audioVolumeListener({params}, callback(ret))
params
enable:
- 类型:布尔
- 描述:(可选项)是否启动声音音量监听
- 默认:true
callback(ret)
ret:
- 类型:JSON 对象
- 内部字段:
{
speakers:[{ //JSON 对象;说话的用户数组
uid: 123, //数字类型;说话者的用户 ID
volume: 100 //数字类型;说话者的音量( 0~255)
}],
totalVolume:44 //数字类型;(混音后的)总音量( 0~255)
}
示例代码
var agoraLive = api.require('agoraLive');
agoraLive.audioVolumeListener({
enable: true
}, function(ret) {
api.alert({msg:JSON.stringify(ret)});
});
可用性
iOS系统,Android系统
可提供的1.0.0及更高版本
userJoinedListener
用户加入频道监听
userJoinedListener({params}, callback(ret))
params
enable:
- 类型:布尔
- 描述:(可选项)是否启动用户加入频道监听
- 默认:true
callback(ret)
ret:
- 类型:JSON 对象
- 内部字段:
{
uid: 1234, //数字类型;用户 ID
elapsed: 23 //数字类型;joinChannel 开始到该回调触发的延迟(毫秒)
}
示例代码
var agoraLive = api.require('agoraLive');
agoraLive.userJoinedListener({
enable: true
},function(ret) {
api.alert({msg:JSON.stringify(ret)});
});
可用性
iOS系统,Android系统
可提供的1.0.0及更高版本
rejoinChannelListener
再次进入频道监听。
有时候由于网络原因,客户端可能会和服务器失去连接, SDK 会进行自动重连,自动重连成功后触发此监听
rejoinChannelListener({params}, callback(ret))
params
enable:
- 类型:布尔
- 描述:(可选项)是否启用再次进入频道监听
- 默认:true
callback(ret, err)
ret:
- 类型:JSON 对象
- 内部字段:
{
status: true, //布尔类型;是否网络链接中断
channel: 'apicloud',//字符串类型;频道名
uid: 1233444, //数字类型;用户id
elapsed:100 //数字类型;从 joinChannel 开始到该事件产生的延迟(毫秒)
}
示例代码
var agoraLive = api.require('agoraLive');
agoraLive.rejoinChannelListener({
enable: true
}, function(ret) {
api.alert({msg:JSON.stringify(ret)});
});
可用性
iOS系统,Android系统
可提供的1.0.0及更高版本
userOfflineListener
用户离开频道监听
userOfflineListener({params}, callback(ret))
params
enable:
- 类型:布尔
- 描述:(可选项)是否启用户离开频道监听
- 默认:true
callback(ret)
ret:
- 类型:JSON 对象
- 内部字段:
{
uid: 1234, //数字类型;用户 ID
reason: 0, //数字类型;离线原因,取值范围如下:
//0:用户主动离开
//1:因过长时间收不到对方数据包,超时掉线。注意:由于 SDK 使用的是不可靠通道,也有可能对方主动离开本方没收到对方离开消息而误判为超时掉线
}
示例代码
var agoraLive = api.require('agoraLive');
agoraLive.userOfflineListener({
enable: true
}, function(ret) {
api.alert({msg:JSON.stringify(ret)});
});
可用性
iOS系统,Android系统
可提供的1.0.0及更高版本
userMuteAudioListener
用户静音监听
userMuteAudioListener({params}, callback(ret))
params
enable:
- 类型:布尔
- 描述:(可选项)是否启用户静音监听
- 默认:true
callback(ret, err)
ret:
- 类型:JSON 对象
- 内部字段:
{
uid:1234, //数字类型;用户 ID
muted: true //布尔类型;为 true 表示该用户将音频静音,反之则该用户取消了音 频静音
}
示例代码
var agoraLive = api.require('agoraLive');
agoraLive.userMuteAudioListener({
enable: true
}, function(ret) {
api.alert({msg:JSON.stringify(ret)});
});
可用性
iOS系统,Android系统
可提供的1.0.0及更高版本
rtcStatsListener
统计数据监听,每两秒触发一次
rtcStatsListener({params}, callback(ret))
params
enable:
- 类型:布尔
- 描述:(可选项)是否启统计数据监听
- 默认:true
callback(ret, err)
ret:
- 类型:JSON 对象
- 内部字段:
{
totalDuration: 34, //数字类型;通话时长(秒)
txBytes: 900, //数字类型;发送字节数( bytes)
rxBytes: 900, //数字类型;接收字节数( bytes)
txKBitRate: 78, //数字类型;发送码率( kbps),iOS 平台不支持
rxKBitRate: 56, //数字类型;接收码率( kbps),iOS 平台不支持
cpuTotalUsage: 23, //数字类型;当前系统的 CPU 使用率( %),iOS 平台不支持
cpuAPPUsage: 34, //数字类型;当前应用程序的 CPU 使用率( %),iOS 平台不支持
users: 134 //数字类型;当前频道内人数
}
示例代码
var agoraLive = api.require('agoraLive');
agoraLive.rtcStatsListener({
enable: true
}, function(ret) {
api.alert({msg:JSON.stringify(ret)});
});
可用性
iOS系统,Android系统
可提供的1.0.0及更高版本
lastmileQualityListener
报告网络质量监听。不在通话中时,不定期触发,向应用程序上报当前网络连接质量
lastmileQualityListener({params}, callback(ret))
params
enable:
- 类型:布尔
- 描述:(可选项)是否启用报告网络质量监听
- 默认:true
callback(ret)
ret:
- 类型:JSON 对象
- 内部字段:
{
quality:1 //数字类型;语音质量评分,取值范围如下:
//1:QUALITY_EXCELLENT
//2:QUALITY_GOOD
//3:QUALITY_POOR
//4:QUALITY_BAD
//5:QUALITY_VBAD
//6:QUALITY_DOWN
}
示例代码
var agoraLive = api.require('agoraLive');
agoraLive.lastmileQualityListener({
enable: true
},function(ret) {
api.alert({msg:JSON.stringify(ret)});
});
可用性
iOS系统,Android系统
可提供的1.0.0及更高版本
connectionInterruptedListener
网络连接中断监听。iOS 平台不支持本接口
connectionInterruptedListener({params}, callback(ret))
params
enable:
- 类型:布尔
- 描述:(可选项)是否启用网络连接中断监听
- 默认:true
callback(ret)
ret:
- 类型:JSON 对象
- 内部字段:
{
status: true //布尔类型;是否网络链接中断
}
示例代码
var agoraLive = api.require('agoraLive');
agoraLive.connectionInterruptedListener({
enable: true
},function(ret) {
alert(JSON.stringify(ret));
});
可用性
Android系统
可提供的1.0.0及更高版本
connectionLostListener
网络连接丢失监听。客户端和服务器失去了网络连接,并且尝试自动重连一段时间(默认 10 秒) 后仍未连上。iOS 平台不支持本接口
connectionLostListener({params}, callback(ret))
params
enable:
- 类型:布尔
- 描述:(可选项)是否启用网络连接丢失监听
- 默认:true
callback(ret)
ret:
- 类型:JSON 对象
- 内部字段:
{
status:true //布尔类型;是否网络链接中断
}
示例代码
var agoraLive = api.require('agoraLive');
agoraLive.connectionLostListener({
enable : true
}, function(ret) {
alert(JSON.stringify(ret));
});
可用性
Android系统
可提供的1.0.0及更高版本
networkQualityListener
网络质量监听
networkQualityListener({params}, callback(ret))
params
enable:
- 类型:布尔
- 描述:(可选项)是否启用报告网络质量监听
- 默认:true
callback(ret)
ret:
- 类型:JSON 对象
- 内部字段:
{
uid: 123, //数字类型;网络质量监听用户id:
txQuality: 0, //数字类型;发送网络质量,取值范围如下:
//0:AgoraRtc_Quality_Unknown
//1:QUALITY_EXCELLENT
//2:QUALITY_GOOD
//3:QUALITY_POOR
//4:QUALITY_BAD
//5:QUALITY_VBAD
//6:QUALITY_DOWN
rxQuality: 0 //数字类型;接受网络质量,取值范围如下:
//0:AgoraRtc_Quality_Unknown
//1:QUALITY_EXCELLENT
//2:QUALITY_GOOD
//3:QUALITY_POOR
//4:QUALITY_BAD
//5:QUALITY_VBAD
//6:QUALITY_DOWN
}
示例代码
var agoraLive = api.require('agoraLive');
agoraLive.lastmileQualityListener({
enable: true
}, function(ret) {
api.alert({msg:JSON.stringify(ret)});
});
可用性
iOS系统,Android系统
可提供的1.0.0及更高版本
setLogFile
设置 agora 引擎的输出 log 文件。
引擎运行时产生的所有 log 将写入该文件。
应用程序必须保证指定的目录存在而且可写。
setLogFile({params}, callback(ret))
params
filePath:
- 类型:字符串
- 描述:日志文件的全路径(包含后缀,如:fs://agoraLive/log.txt),要求本地路径协议:fs://
callback(ret)
ret:
- 类型:JSON 对象
- 内部字段:
{
status: true, //布尔类型;true||false,是否设置成功
realPath: '' //字符串类型;日志文件绝对路径
}
示例代码
var agoraLive = api.require('agoraLive');
agoraLive.setLogFile({
filePath: 'fs://log.txt'
}, function(ret) {
if (ret.status) {
api.alert({msg:JSON.stringify(ret)});
}
});
可用性
iOS系统,Android系统
可提供的1.0.0及更高版本
disableAudio
关闭音频 该方法设置内部引擎为启用状态,在 leaveChannel 后仍然有效。,android支持
disableAudio( callback(ret))
callback(ret)
ret:
- 类型:JSON 对象
- 内部字段:
{
status: true //布尔类型;true||false,是否设置成功
}
示例代码
var agoraLive = api.require('agoraLive');
agoraLive.disableAudio();
可用性
Android系统
可提供的1.0.0及更高版本
initVideoRect
初始化视频(本地、远程)区域
initVideoRect({params})
params
uid:
- 类型:数字类型
- 描述:用户id,当为 0 时表示打开本地视频播放区域
rect:
- 类型:JSON 对象
- 描述:(可选项)视频区域的位置及尺寸
- 内部字段:
{
x: 0, //(可选项)数字类型;视频区域左上角的 x 坐标(相对于所属的 Window 或 Frame);默认:0
y: 0, //(可选项)数字类型;视频区域左上角的 y 坐标(相对于所属的 Window 或 Frame);默认:0
w: 320, //(可选项)数字类型;视频区域的宽度;默认:屏幕的宽
h: 480 //(可选项)数字类型;视频区域的高度;默认:屏幕的高
}
fixedOn:
- 类型:字符串类型
- 描述:(可选项)模块视图添加到指定 frame 的名字(只指 frame,传 window 无效)
- 默认:模块依附于当前 window
fixed:
- 类型:布尔
- 描述:(可选项)模块是否随所属 window 或 frame 滚动
- 默认值:true(不随之滚动)
示例代码
var agoraLive = api.require('agoraLive');
agoraLive.initVideoRect({
uid:123456,
rect: {
x: 0,
y: 0,
w: 320,
h: 300
}
});
可用性
iOS系统,Android系统
可提供的1.0.0及更高版本
enableVideo
该方法用于开启视频模式。可以在加入频道前或者通话中调用,在加入频道前调用,则自动开 启视频模式,在通话中调用则由音频模式切换为视频模式。调用 disablevideo 方法可关闭视 频模式
enableVideo(callback(ret))
callback(ret)
ret:
- 类型:JSON 对象
- 内部字段:
{
status: , //布尔类型;true||false,是否成功
}
示例代码
var agoraLive = api.require('agoraLive');
agoraLive.enableVideo( function(ret) {
if (ret.status) {
alert(JSON.stringify(ret));
}
});
可用性
iOS系统,Android系统
可提供的1.0.0及更高版本
disableVideo
该方法用于关闭视频,开启纯音频模式。可以在加入频道前或者通话中调用,在加入频道前调 用,则自动开启纯音频模式,在通话中调用则由视频模式切换为纯音频频模式。调用enablevideo 方法可开启视频模式
disableVideo(callback(ret))
callback(ret)
ret:
- 类型:JSON 对象
- 内部字段:
{
status: , //布尔类型;true||false,是否成功
}
示例代码
var agoraLive = api.require('agoraLive');
agoraLive.disableVideo(function(ret) {
if (ret.status) {
alert(JSON.stringify(ret));
}
});
可用性
iOS系统,Android系统
可提供的1.0.0及更高版本
startPreview
该方法用于启动本地视频预览。在开启预览前,必须先调用 setupLocalVideo 设置预览窗口及 属性,且必须调用 enableVideo 开启视频功能。如果在调用 joinChannel 进入频道之前调用了 startPreview 启动本地视频预览,在调用 leaveChannel 退出频道之后本地预览仍然处于启动 状态,如需要关闭本地预览,需要调用 stopPreview
startPreview(callback(ret))
callback(ret)
ret:
- 类型:JSON 对象
- 内部字段:
{
status: , //布尔类型;true||false,是否成功
}
示例代码
var agoraLive = api.require('agoraLive');
agoraLive.startPreview(function(ret) {
if (ret.status) {
alert(JSON.stringify(ret));
}
});
可用性
iOS系统,Android系统
可提供的1.0.0及更高版本
stopPreview
该方法用于停止本地视频预览
stopPreview(callback(ret))
callback(ret)
ret:
- 类型:JSON 对象
- 内部字段:
{
status: , //布尔类型;true||false,是否成功
}
示例代码
var agoraLive = api.require('agoraLive');
agoraLive.stopPreview(function(ret) {
if (ret.status) {
alert(JSON.stringify(ret));
}
});
可用性
iOS系统,Android系统
可提供的1.0.0及更高版本
bringToFront
将指定视频窗口置为最上层显示
bringToFront({params})
params
uid:
- 类型:数字
- 描述:指定用户id
示例代码
var agoraVoice = api.require('agoraLive');
agoraLive.bringToFront({uid:0});
可用性
iOS 系统,Android 系统
可提供的 1.0.0 及更高版本
addVideoClickListener
添加视频窗口的点击事件
addVideoClickListener(callback(ret))
callback(ret)
ret:
- 类型:JSON 对象
- 内部字段:
{
uid:0 //数字类型;单击的视频窗口的用户 ID
}
示例代码
var agoraVoice = api.require('agoraLive');
agoraLive.addVideoClickListener(function(ret){
alert('点击俩'+ret.uid + '的视频窗口');
});
可用性
iOS 系统,Android 系统
可提供的 1.0.0 及更高版本
setVideoProfile
该方法设置视频编码属性(Profile)。每个属性对应一套视频参数,如分辨率、帧率、码率等。 当设备的摄像头不支持指定的分辨率时, SDK 会自动选择一个合适的摄像头分辨率,但是编 码分辨率仍然用 setVideoProfile 指定的
setVideoProfile({params},callback(ret))
params
profile:
- 类型:字符串类型
- 描述:视频属性
- 取值范围:
- 120P: 分辨率(宽 x 高) 160x120 帧率(fps) 15
- 120P_3: 分辨率(宽 x 高) 120x120 帧率(fps) 15
- 180P: 分辨率(宽 x 高) 320x180 帧率(fps) 15
- 180P_3: 分辨率(宽 x 高) 180x180 帧率(fps) 15
- 180P_4: 分辨率(宽 x 高) 240x180 帧率(fps)15 比特率(kbps)120;暂仅支持iOS平台
- 240P: 分辨率(宽 x 高) 320x240 帧率(fps) 15
- 240P_3: 分辨率(宽 x 高) 240x240 帧率(fps) 15
- 240P_4: 分辨率(宽 x 高) 424x240 帧率(fps) 15
- 360P: 分辨率(宽 x 高) 640x360 帧率(fps) 15
- 360P_3: 分辨率(宽 x 高) 360x360 帧率(fps) 15
- 360P_4: 分辨率(宽 x 高) 640x360 帧率(fps) 30
- 360P_6: 分辨率(宽 x 高) 360x360 帧率(fps) 30
- 360P_7: 分辨率(宽 x 高) 480x360 帧率(fps) 15
- 360P_8: 分辨率(宽 x 高) 480x360 帧率(fps) 30
- 360P_9: 分辨率(宽 x 高) 480x360 帧率(fps) 15 比特率(kbps)800;暂仅支持iOS平台
- 480P: 分辨率(宽 x 高) 640x480 帧率(fps) 15
- 480P_3: 分辨率(宽 x 高) 480x480 帧率(fps) 15
- 480P_4: 分辨率(宽 x 高) 640x480 帧率(fps) 30
- 480P_6: 分辨率(宽 x 高) 480x480 帧率(fps) 30
- 480P_8: 分辨率(宽 x 高) 848x480 帧率(fps) 15
- 480P_9: 分辨率(宽 x 高) 848x480 帧率(fps) 30
- 720P: 分辨率(宽 x 高) 1280x720 帧率(fps) 15
- 720P_3: 分辨率(宽 x 高) 1280x720 帧率(fps) 30
- 720P_5: 分辨率(宽 x 高) 960x720 帧率(fps) 15
- 720P_6: 分辨率(宽 x 高) 960x720 帧率(fps) 30
- 1080P: 分辨率(宽 x 高) 1920x1080 帧率(fps) 15 比特率(kbps)2080;暂仅支持iOS平台
- 1080P_3: 分辨率(宽 x 高) 1920x1080 帧率(fps) 30 比特率(kbps)3150;暂仅支持iOS平台
- 1080P_5: 分辨率(宽 x 高) 1920x1080 帧率(fps) 15 比特率(kbps)4780;暂仅支持iOS平台
- 1440P: 分辨率(宽 x 高) 2560x1440 帧率(fps) 30 比特率(kbps)4850;暂仅支持iOS平台
- 1440P_2: 分辨率(宽 x 高) 2560x1440 帧率(fps) 60 比特率(kbps)7350;暂仅支持iOS平台
- 4K: 分辨率(宽 x 高) 3840x2160 帧率(fps) 30 比特率(kbps)8190;暂仅支持iOS平台
- 4K_3: 分辨率(宽 x 高) 3840x2160 帧率(fps) 60 比特率(kbps)13500;暂仅支持iOS平台
swapWidthAndHeight:
- 类型:数字类型
- 描述:是否交换宽和高
- 默认值:false
callback(ret)
ret:
- 类型:JSON 对象
- 内部字段:
{
status: , //布尔类型;true||false,是否成功
}
示例代码
var agoraLive = api.require('agoraLive');
agoraLive.setVideoProfile( {
profile:'120P',
swapWidthAndHeight:true
},function(ret) {
if (ret.status) {
alert(JSON.stringify(ret));
}
});
可用性
iOS系统,Android系统
可提供的1.0.0及更高版本
setupLocalVideo
该方法设置本地视频显示信息,通常在初始化后调用该方法进行本地视频设置,然后再加入频道。
setupLocalVideo({params},callback(ret))
params
renderMode:
- 类型:字符串类型
- 描述:视频显示模式
- 取值范围:
- RENDER_MODE_HIDDEN : 如果视频尺寸与显示视窗尺寸不一致,则视频流会按照显示视窗比 例进行周边裁剪或图像拉伸后填满视窗。
- RENDER_MODE_FIT: 如果视频尺寸与显示视窗尺寸不一致,在保持长宽比的前提下,将视频 进行缩放后填满视窗
- RENDER_MODE_ADAPTIVE:如果自己和对方都是竖屏,或者如果自己和对方都是横屏使用 RENDER_MODE_HIDDEN;如果对方和自己一个竖屏一个横屏,则使用 RENDER_MODE_FIT
uid:
- 类型:数字类型
- 描述:本地用户id,与 joinchannel 方法中的 uid 保持一致
callback(ret)
ret:
- 类型:JSON 对象
- 内部字段:
{
status: , //布尔类型;true||false,是否成功
}
示例代码
var agoraLive = api.require('agoraLive');
agoraLive.setupLocalVideo( {
renderMode:'RENDER_MODE_HIDDEN'
},function(ret) {
if (ret.status) {
alert(JSON.stringify(ret));
}
});
可用性
iOS系统,Android系统
可提供的1.0.0及更高版本
setupRemoteVideo
该方法绑定远程用户和显示视图,即设定 uid 指定的用户用哪个视图显示。调用该接口时需要 指定远程视频的 uid
setupRemoteVideo({params},callback(ret))
params
renderMode:
- 类型:字符串类型
- 描述:视频显示模式
- 取值范围:
- RENDER_MODE_HIDDEN : 如果视频尺寸与显示视窗尺寸不一致,则视频流会按照显示视窗比 例进行周边裁剪或图像拉伸后填满视窗。
- RENDER_MODE_FIT: 如果视频尺寸与显示视窗尺寸不一致,在保持长宽比的前提下,将视频 进行缩放后填满视窗
- RENDER_MODE_ADAPTIVE:如果自己和对方都是竖屏,或者如果自己和对方都是横屏使用 RENDER_MODE_HIDDEN;如果对方和自己一个竖屏一个横屏,则使用 RENDER_MODE_FIT
uid:
- 类型:数字类型
- 描述:远端用户id
callback(ret)
ret:
- 类型:JSON 对象
- 内部字段:
{
status: , //布尔类型;true||false,是否成功
}
示例代码
var agoraLive = api.require('agoraLive');
agoraLive.setupRemoteVideo( {
renderMode:'RENDER_MODE_HIDDEN',
uid:1
},function(ret) {
if (ret.status) {
alert(JSON.stringify(ret));
}
});
可用性
iOS系统,Android系统
可提供的1.0.0及更高版本
switchCamera
该方法用于在前置/后置摄像头间切换
switchCamera({params},callback(ret))
callback(ret)
ret:
- 类型:JSON 对象
- 内部字段:
{
status: , //布尔类型;true||false,是否成功
}
示例代码
var agoraLive = api.require('agoraLive');
agoraLive.switchCamera(function(ret) {
if (ret.status) {
alert(JSON.stringify(ret));
}
});
可用性
iOS系统,Android系统
可提供的1.0.0及更高版本
enableLocalVideo
禁用/启用本地视频功能。该方法用于只看不发的视频场景。该方法不需要本地有摄像头
enableLocalVideo({params},callback(ret))
params
enabled:
- 类型:布尔类型
- 描述:是否启用本地视频
- 默认:true
callback(ret)
ret:
- 类型:JSON 对象
- 内部字段:
{
status: , //布尔类型;true||false,是否成功
}
示例代码
var agoraLive = api.require('agoraLive');
agoraLive.enableLocalVideo( {
enabled:true
},function(ret) {
if (ret.status) {
alert(JSON.stringify(ret));
}
});
可用性
iOS系统,Android系统
可提供的1.0.0及更高版本
muteLocalVideoStream
暂停/恢复发送本地视频流。该方法用于允许/禁止往网络发送本地视频流
muteLocalVideoStream({params},callback(ret))
params
muted:
- 类型:布尔类型
- 描述:是否禁止发送本地视频流
- 默认:true
callback(ret)
ret:
- 类型:JSON 对象
- 内部字段:
{
status: , //布尔类型;true||false,是否成功
}
示例代码
var agoraLive = api.require('agoraLive');
agoraLive.muteLocalVideoStream( {
muted:true
},function(ret) {
if (ret.status) {
alert(JSON.stringify(ret));
}
});
可用性
iOS系统,Android系统
可提供的1.0.0及更高版本
muteAllRemoteVideoStreams
暂停/恢复所有人视频流。本方法用于允许/禁止播放所有人的视频流
muteAllRemoteVideoStreams({params},callback(ret))
params
muted:
- 类型:布尔类型
- 描述:是否停止播放接收到的所有视频流
- 默认:true
callback(ret)
ret:
- 类型:JSON 对象
- 内部字段:
{
status: , //布尔类型;true||false,是否成功
}
示例代码
var agoraLive = api.require('agoraLive');
agoraLive.muteAllRemoteVideoStreams( {
muted:true
},function(ret) {
if (ret.status) {
alert(JSON.stringify(ret));
}
});
可用性
iOS系统,Android系统
可提供的1.0.0及更高版本
muteRemoteVideoStream
暂停/恢复指定远端视频流。本方法用于允许/禁止播放指定远端视频流。
muteRemoteVideoStream({params},callback(ret))
params
uid:
- 类型:数字类型
- 描述:用户id
muted:
- 类型:布尔类型
- 描述:是否停止播放接收到的视频流
- 默认:true
callback(ret)
ret:
- 类型:JSON 对象
- 内部字段:
{
status: , //布尔类型;true||false,是否成功
}
示例代码
var agoraLive = api.require('agoraLive');
agoraLive.muteRemoteVideoStream( {
uid:'1,
muted:true
},function(ret) {
if (ret.status) {
alert(JSON.stringify(ret));
}
});
可用性
iOS系统,Android系统
可提供的1.0.0及更高版本
firstLocalVideoFrameListener
提示第一帧本地视频画面已经显示在屏幕上
firstLocalVideoFrameListener({params}, callback(ret))
params
enable:
- 类型:布尔
- 描述:(可选项)是否启用第一帧本地视频画面已经显示在屏幕上的回调监听
- 默认:true
callback(ret)
ret:
- 类型:JSON 对象
- 内部字段:
{
width: //数字类型;视频流宽(像素)
height: //数字类型;视频流高(像素)
elapsed: //数字类型;加入频道开始到该回调触发的延迟(毫秒)
}
示例代码
var agoraLive = api.require('agoraLive');
agoraLive.firstLocalVideoFrameListener({
enable : true
},function(ret) {
alert(JSON.stringify(ret));
});
可用性
iOS系统,Android系统
可提供的1.0.0及更高版本
firstRemoteVideoFrameListener
第一帧远程视频显示在视图回调监听
firstRemoteVideoFrameListener({params}, callback(ret))
params
enable:
- 类型:布尔
- 描述:(可选项)是否启用第一帧远程视频显示在视图回调监听
- 默认:true
callback(ret)
ret:
- 类型:JSON 对象
- 内部字段:
{
uid: //数字类型;用户id
width: //数字类型;视频流宽(像素)
height: //数字类型;视频流高(像素)
elapsed: //数字类型;加入频道开始到该回调触发的延迟(毫秒)
}
示例代码
var agoraLive = api.require('agoraLive');
agoraLive.firstRemoteVideoFrameListener({
enable : true
},function(ret) {
alert(JSON.stringify(ret));
});
可用性
iOS系统,Android系统
可提供的1.0.0及更高版本
firstRemoteVideoDecodedListener
远端视频接收解码回调,收到第一帧远程视频流并解码成功时,触发此调用
firstRemoteVideoDecodedListener({params}, callback(ret))
params
enable:
- 类型:布尔
- 描述:(可选项)是否启用远端视频接收解码回调
- 默认:true
callback(ret)
ret:
- 类型:JSON 对象
- 内部字段:
{
uid: //数字类型;用户id
width: //数字类型;视频流宽(像素)
height: //数字类型;视频流高(像素)
elapsed: //数字类型;加入频道开始到该回调触发的延迟(毫秒)
}
示例代码
var agoraLive = api.require('agoraLive');
agoraLive.firstRemoteVideoDecodedListener({
enable : true
},function(ret) {
alert(JSON.stringify(ret));
});
可用性
iOS系统,Android系统
可提供的1.0.0及更高版本
userMuteVideoListener
其他用户停止/重启视频回调,iOS 暂不支持本接口
userMuteVideoListener({params}, callback(ret))
params
enable:
- 类型:布尔
- 描述:(可选项)是否启用其他用户停止/重启视频回调
- 默认:true
callback(ret)
ret:
- 类型:JSON 对象
- 内部字段:
{
uid: //数字类型;用户id
muted: //数字类型;True:该用户暂停了视频发送,False:该用户恢复了视频发送
}
示例代码
var agoraLive = api.require('agoraLive');
agoraLive.userMuteVideoListener({
enable : true
},function(ret) {
alert(JSON.stringify(ret));
});
可用性
Android系统
可提供的1.0.0及更高版本
userEnableVideoListener
其他用户启用/关闭视频回调,iOS 暂不支持本接口
userEnableVideoListener({params}, callback(ret))
params
enable:
- 类型:布尔
- 描述:(可选项)是否启用其他用户启用/关闭视频回调
- 默认:true
callback(ret)
ret:
- 类型:JSON 对象
- 内部字段:
{
uid: //数字类型;用户id
muted: //数字类型;True:该用户启用了视频功能,False:该用户关闭了视频功能
}
示例代码
var agoraLive = api.require('agoraLive');
agoraLive.userEnableVideoListener({
enable : true
},function(ret) {
alert(JSON.stringify(ret));
});
可用性
Android系统
可提供的1.0.0及更高版本
localVideoStatListener
本地视频统计回调,报告更新本地视频统计信息,该回调函数每两秒触发一次
localVideoStatListener({params}, callback(ret))
params
enable:
- 类型:布尔
- 描述:(可选项)是否启用本地视频统计回调
- 默认:true
callback(ret)
ret:
- 类型:JSON 对象
- 内部字段:
{
sentBitrate: //数字类型;(上次统计后)发送的码率(kbps)
sentFrameRate: //数字类型;(上次统计后)发送的帧率(fps)
}
示例代码
var agoraLive = api.require('agoraLive');
agoraLive.localVideoStatListener({
enable : true
},function(ret) {
alert(JSON.stringify(ret));
});
可用性
iOS系统,Android系统
可提供的1.0.0及更高版本
remoteVideoStatListener
远端视频统计回调,报告更新远端视频统计信息,该回调函数每两秒触发一次。
remoteVideoStatListener({params}, callback(ret))
params
enable:
- 类型:布尔
- 描述:(可选项)是否启用远端视频统计回调
- 默认:true
callback(ret)
ret:
- 类型:JSON 对象
- 内部字段:
{
uid: //数字类型;用户id
width: //数字类型;视频流宽(像素)
height: //数字类型;视频流高(像素)
receivedBitrate: //数字类型;接收码率(kbps)
receivedFrameRate: //数字类型;接收帧率(fps)
delay: //数字类型;延时(毫秒)
}
示例代码
var agoraLive = api.require('agoraLive');
agoraLive.remoteVideoStatListener({
enable : true
},function(ret) {
alert(JSON.stringify(ret));
});
可用性
iOS系统,Android系统
可提供的1.0.0及更高版本
cameraReadyListener
摄像头启用回调,提示已成功打开摄像头,可以开始捕获视频。如果摄像头打开失败,可在 onError()中处理相应错误。 iOS 平台暂不支持本接口
cameraReadyListener({params}, callback(ret))
params
enable:
- 类型:布尔
- 描述:(可选项)是否启用摄像头启用回调
- 默认:true
callback(ret)
ret:
- 类型:JSON 对象
- 内部字段:
{
status: //布尔类型;是否启用摄像头
}
示例代码
var agoraLive = api.require('agoraLive');
agoraLive.cameraReadyListener({
enable : true
},function(ret) {
alert(JSON.stringify(ret));
});
可用性
Android系统
可提供的1.0.0及更高版本
videoStoppedListener
视频功能停止回调。 iOS 平台暂不支持本接口
videoStoppedListener({params}, callback(ret))
params
enable:
- 类型:布尔
- 描述:(可选项)是否启用视频功能停止回调
- 默认:true
callback(ret)
ret:
- 类型:JSON 对象
- 内部字段:
{
status: //布尔类型;是否停止摄像头
}
示例代码
var agoraLive = api.require('agoraLive');
agoraLive.videoStoppedListener({
enable : true
},function(ret) {
alert(JSON.stringify(ret));
});
可用性
Android系统
可提供的1.0.0及更高版本
streamMessageListener
接收到对方数据流消息的回调
streamMessageListener({params}, callback(ret))
params
enable:
- 类型:布尔
- 描述:(可选项)是否启用接收到对方数据流消息的回调
- 默认:true
callback(ret)
ret:
- 类型:JSON 对象
- 内部字段:
{
uid: //数字类型;用户id
streamId: //数字类型;数据流 ID
data: //字符串类型;接收到的数据
}
示例代码
var agoraLive = api.require('agoraLive');
agoraLive.streamMessageListener({
enable : true
},function(ret) {
alert(JSON.stringify(ret));
});
可用性
iOS系统,Android系统
可提供的1.0.0及更高版本
streamMessageErrorListener
接收对方数据流消息错误的回调
streamMessageErrorListener({params}, callback(ret))
params
enable:
- 类型:布尔
- 描述:(可选项)是否启用接收对方数据流消息错误的回调
- 默认:true
callback(ret)
ret:
- 类型:JSON 对象
- 内部字段:
{
uid: //数字类型;用户id
streamId: //数字类型;数据流 ID
errMsg: //字符串类型;错误信息
missed: //数字类型;丢失的消息数量
cached: //数字类型;数据流中断时,后面缓存的消息数量
}
示例代码
var agoraLive = api.require('agoraLive');
agoraLive.streamMessageErrorListener({
enable : true
},function(ret) {
alert(JSON.stringify(ret));
});
可用性
iOS系统,Android系统
可提供的1.0.0及更高版本
audioMixingFinishedListener
伴奏已播放结束的回调,iOS 平台暂不支持本接口
audioMixingFinishedListener({params}, callback(ret))
params
enable:
- 类型:布尔
- 描述:(可选项)是否启用伴奏已播放结束的回调
- 默认:true
callback(ret)
ret:
- 类型:JSON 对象
- 内部字段:
{
status: //数字类型;是否结束
}
示例代码
var agoraLive = api.require('agoraLive');
agoraLive.audioMixingFinishedListener({
enable : true
},function(ret) {
alert(JSON.stringify(ret));
});
可用性
Android系统
可提供的1.0.0及更高版本
setClientRole
在加入频道前, 用户需要通过本方法设置观众或主播模式(默认)。 在加入频道后,用户可以通过本方法切换用户模式。 该方法仅在直播模式有效
setClientRole({params}, callback(ret))
params
role:
- 类型:字符串
- 描述:直播的用户角色
- 默认:BROADCASTER
- 取值范围:
- BROADCASTER:主播用户
- AUDIENCE:观众用户
permissionKey:
- 类型:字符串
- 描述:(可选项)permission key of role change
callback(ret)
ret:
- 类型:JSON 对象
- 内部字段:
{
status: , //布尔类型;true||false,是否成功
}
示例代码
var agoraVoice = api.require('agoraLive');
agoraLive.setClientRole({
role: 'AUDIENCE'
}, function(ret) {
if (ret.status) {
alert(JSON.stringify(ret));
}
});
可用性
iOS系统
可提供的1.0.0及更高版本
closePreview
关闭视频预览区域
closePreview({params})
params
uid:
- 类型:数字
- 描述:指定用户id
示例代码
var agoraVoice = api.require('agoraLive');
agoraLive.closePreview({uid:0});
可用性
iOS系统,Android系统
可提供的1.0.0及更高版本
resetVideoRect
重设视频预览区域
resetVideoRect({params})
params
rect:
- 类型:JSON 对象
- 描述:(可选项)视频区域的位置及尺寸
- 内部字段:
{
x: 0, //(可选项)数字类型;视频区域左上角的 x 坐标(相对于所属的 Window 或 Frame);默认:原值
y: 0, //(可选项)数字类型;视频区域左上角的 y 坐标(相对于所属的 Window 或 Frame);默认:原值
w: 320, //(可选项)数字类型;视频区域的宽度;默认:原值
h: 480 //(可选项)数字类型;视频区域的高度;默认:原值
}
animation:
- 类型:布尔
- 描述:重设过程中是否带0.3秒的动画
- 默认:false
uid:
- 类型:数字
- 描述:指定用户id
示例代码
var agoraVoice = api.require('agoraLive');
agoraLive.resetVideoRect({
rect:{
x:10,
y:10,
w:300,
h:280
},
animation: true
});
可用性
iOS系统,Android系统
可提供的1.0.0及更高版本
setRemoteVideoStream
设置远程视频流质量
setRemoteVideoStream({params},callback(ret))
params
uid:
- 类型:数字
- 描述:指定用户id
type:
- 类型:字符串
- 描述:视频质量
- 默认:medium
- 取值范围:
- medium:普通
- high:高质量
- low:低质量
callback(ret)
ret:
- 类型:JSON 对象
- 内部字段:
{
status: , //布尔类型;true||false,是否成功
}
示例代码
var agoraLive = api.require('agoraLive');
agoraLive.setRemoteVideoStream( {
type:low,
uid:0
},function(ret) {
if (ret.status) {
alert(JSON.stringify(ret));
}
});
可用性
iOS系统,Android系统
可提供的1.0.0及更高版本
enableWebSdkInteroperability
打开与Web SDK的互通
enableWebSdkInteroperability({params},callback(ret))
params
enabled:
- 类型:布尔
- 描述:是否已打开与Agora Web SDK的互通:
callback(ret)
ret:
- 类型:JSON 对象
- 内部字段:
{
status: , //布尔类型;true||false,是否成功
}
示例代码
var agoraLive = api.require('agoraLive');
agoraLive.enableWebSdkInteroperability( {
enabled:true
},function(ret) {
if (ret.status) {
alert(JSON.stringify(ret));
}
});
可用性
iOS系统,Android系统
可提供的1.0.0及更高版本
setAudioProfile
设置音频参数和应用场景
setAudioProfile({params},callback(ret))
params
profile:
- 类型:字符串
- 描述:音频参数
取值范围:
- default(使用默认设置)
- speechStandard(32Khz, 18kbps, mono, speech)
- musicStandard(48Khz, 50kbps, mono, music)
- MusicStandardStereo(48Khz, 50kbps, stereo, music)
- MusicHighQuality(48Khz, 128kbps, mono, music)
- MusicHighQualityStereo (48Khz, 128kbps, stereo, music)
scenario:
- 类型:字符串
- 描述:应用场景
取值范围:
- default(使用默认设置)
- chatRoom
- Education
- GameStreaming
- ShowRoom
callback(ret)
ret:
- 类型:JSON 对象
- 内部字段:
{
code: 0, //数字类型;0为成功,其他值为失败
}
示例代码
var agoraLive = api.require('agoraLive');
agoraLive.setAudioProfile( {
profile:'default',
},function(ret) {
alert(JSON.stringify(ret));
});
可用性
iOS系统,Android系统
可提供的1.0.0及更高版本
setLocalVoicePitch
提供基础变声功能
setLocalVoicePitch({params},callback(ret))
params
pitch:
- 类型:数字
- 描述:频率
- 取值范围:0.5-2.0
- 默认:1.0
callback(ret)
ret:
- 类型:JSON 对象
- 内部字段:
{
code: 0, //数字类型;0为成功,其他值为失败
}
示例代码
var agoraLive = api.require('agoraLive');
agoraLive.setLocalVoicePitch( {
pitch:1.0
},function(ret) {
alert(JSON.stringify(ret));
});
可用性
iOS系统,Android系统
可提供的1.0.0及更高版本
setInEarMonitoringVolume
提供调节耳返音量功能
setInEarMonitoringVolume({params},callback(ret))
params
volume:
- 类型:数字
- 描述:音量
- 取值范围:0-100
- 默认:100
callback(ret)
ret:
- 类型:JSON 对象
- 内部字段:
{
code: , //数字类型;0为成功,其他值为失败
}
示例代码
var agoraLive = api.require('agoraLive');
agoraLive.setInEarMonitoringVolume( {
volume:100
},function(ret) {
alert(JSON.stringify(ret));
});
可用性
iOS系统,Android系统
可提供的1.0.0及更高版本
setLocalVoiceEqualization
设置本地语音音效均衡 setLocalVoiceEqualization({params})
params
bandFrequency:
- 类型:(整数)数字
- 描述:取值范围是 [0-9],分别代表音效的 10 个 band 的中心频率 [31,62,125,250,500,1k,2k,4k,8k,16k]Hz
- 取值范围:[0-9]
- 默认:无
bandGain:
- 类型:(整数)数字
- 描述:每个 band 的增益,单位是 dB,每一个值的范围是 [-15,15]
- 取值范围:[-15,15]
- 默认:无
示例代码
var agoraLive = api.require('agoraLive');
agoraLive.setLocalVoiceEqualization( {
bandFrequency:0 ,
bandGain:1
});
可用性
Android系统
可提供的1.0.0及更高版本
setLocalVoiceReverb
设置本地音效混响 setLocalVoiceReverb({params})
params
reverbKey:
- 类型:(整数)数字
- 描述:混响音效 Key。该方法共有 5 个混响音效 Key,分别如 value 栏列出
- 取值范围:[0-4]
- 默认:无
value:
- 类型:(整数)数字
- 描述:各混响音效 Key 所对应的值:
取值范围:
0:(dB, [-20,10]),原始声音效果,即所谓的 dry signal 1:(dB, [-20,10]),早期反射信号效果,即所谓的 wet signal 2:([0,100]), 所需混响效果的房间尺寸 3:(ms, [0, 200]),wet signal 的初始延迟长度,以毫秒为单位 4:([0,100]),后期混响长度
默认:无
示例代码
var agoraLive = api.require('agoraLive');
agoraLive.setLocalVoiceReverb( {
reverbKey:0 ,
value:9
});
可用性
Android系统
可提供的1.0.0及更高版本
setDefaultAudioRouteToSpeakerphone
修改默认的语音路由,该方法只在纯音频模式下工作,在有视频的模式下不工作。该方法需要在 joinChannel 前设置,否则不生效。
setDefaultAudioRouteToSpeakerphone({params})
params
defaultToSpeaker:
- 类型:布尔类型
- 描述:默认路由更改
- 取值范围:true: 默认路由改为外放(扬声器)false: 默认路由改为听筒
- 默认:无
callback(ret)
ret:
- 类型:JSON 对象
- 内部字段:
{
code: , //数字类型;0为成功,其他值为失败
}
示例代码
var agoraLive = api.require('agoraLive');
agoraLive.setDefaultAudioRouteToSpeakerphone( {
defaultToSpeaker:true ,
},,function(ret) {
alert(JSON.stringify(ret));
});
可用性
Android系统
可提供的1.0.0及更高版本
enableInEarMonitoring
该方法打开或关闭耳返监听功能。
enableInEarMonitoring({params})
params
enabled:
- 类型:布尔类型
- 描述:打开或关闭耳返监听功能
取值范围:true: 启用耳返监听功能false: 禁用耳返监听功能(默认)
默认:无
callback(ret)
ret:
- 类型:JSON 对象
- 内部字段:
{
code: , //数字类型;0为成功,其他值为失败
}
示例代码
var agoraLive = api.require('agoraLive');
agoraLive.enableInEarMonitoring( {
enabled:true ,
},,function(ret) {
alert(JSON.stringify(ret));
});
可用性
Android系统
可提供的1.0.0及更高版本
setClientRoleOrAndroid
在加入频道前, 用户需要通过本方法设置观众或主播模式。 在加入频道后,用户可以通过本方法切换用户模式。 该方法仅在直播模式有效
setClientRoleOrAndroid({params}, callback(ret))
params
role:
- 类型:数字
- 描述:直播的用户角色
- 默认:2 观众
- 取值范围:
- 1 主播用户
- 2 观众
callback(ret)
ret:
- 类型:JSON 对象
- 内部字段:
{
status: , //布尔类型;true||false,是否成功
}
示例代码
var agoraVoice = api.require('agoraLive');
agoraLive.setClientRoleOrAndroid({
role: '2'
}, function(ret) {
if (ret.status) {
alert(JSON.stringify(ret));
}
});
可用性
Android系统
可提供的1.0.0及更高版本
setBeautyEffectOptions
设置美颜
setBeautyEffectOptions({params})
Params
enable:
- 类型:布尔
- 描述:是否开启美颜
contrastLevel:
- 类型:字符串
- 描述:对比度
- 默认:normal
- 取值:
- high
- normal
- low
lightening:
- 类型:数字类型
- 描述:亮度
- 默认:0.5
- 取值:0.0~1.0
smoothness:
- 类型:数字类型
- 描述:平滑度
- 默认:0.5
- 取值:0.0~1.0
redness:
- 类型:数字类型
- 描述:红色度
- 默认:0.5
- 取值:0.0~1.0
示例代码
var agoraVoice = api.require('agoraLive');
agoraLive.setBeautyEffectOptions({
enable:true
});
可用性
Android系统, iOS系统
可提供的1.0.1及更高版本
destroy
该方法释放 Agora SDK 使用的所有资源。有些应用程序只在用户需要时才进行语音通话,不需要时则将资源释放出来用于其他操作,该方法对这类程序可能比较有用。 只要调用了 destroy(), 用户将无法再使用和回调该 SDK 内的其它方法。如需再次使用通信功能,必须重新初始化。
destroy()
示例代码
var agoraVoice = api.require('agoraLive');
agoraLive.destroy();
可用性
Android系统, iOS系统
可提供的1.0.1及更高版本