音量指示
简介
Pano SDK 支持回调音频指示器(也称音量指示、音频强度)。
各端 SDK 相关接口,请查看下列介绍:
Windows (C++)
通过 RtcEngine
实例的 setAudioIndication(AudioIndication *indication, uint32_t intervalMs=200)
方法设置用户音频指示器(indication
参数传入 nullptr
来取消设置)。
通过 AudioIndication
的 onUserAudioLevel(UserAudioLevel &level)
方法回调用户音频强度。
UserAudioLevel
包含:
active
本端的语音激活状态,当 userId 不为自己时,active 参数无效level
音频强度,取值范围:[0, 32767]userId
用户ID
macOS/iOS (Objective-C)
调用 PanoRtcEngineKit
的 + engineWithConfig:delegate:
方法初始化时,设置 PanoRtcEngineDelegate
。
通过 PanoRtcEngineDelegate
的 - onUserAudioLevel:
方法回调用户音频强度。
PanoRtcAudioLevel
包含:
active
本端的语音激活状态,当 userId 不为自己时,active 参数无效level
音频强度,取值范围:[0, 32767]userId
用户ID
还可以调用 PanoRtcEngineKit
的 - setAudioIndication:intervalMs:
方法设置:
- 是否启用
PanoRtcEngineDelegate
的- onUserAudioLevel:
回调 - 回调时间间隔(默认200ms)
示例代码:
-(void)onUserAudioLevel:(PanoRtcAudioLevel *)level{
NSLog(@"onUserAudioLevel, userId: %llu, active: %i, level: %u", level.userId, level.active, level.level);
}
Android (Java)
调用 RtcEngine
实例的 setAudioIndication(RtcAudioIndication indication, int intervalMs)
方法设置用户音频指示器(indication
参数传入 null
来取消设置)。
通过 RtcAudioIndication
的 onUserAudioLevel(RtcAudioLevel level)
回调用户音频强度。
RtcAudioLevel
包含:
active
本端的语音激活状态,当 userId 不为自己时,active 参数无效level
音频强度,取值范围:[0, 32767]userId
用户ID
示例代码:
// 设置用户音频指示器
mRtcEngine.setAudioIndication(new RtcAudioIndication() {
@Override
public void onUserAudioLevel(RtcAudioLevel rtcAudioLevel) {
Log.i(TAG, "onUserAudioLevel, userId: " + rtcAudioLevel.userId + ", active: " + rtcAudioLevel.active + ", level: " + rtcAudioLevel.level);
}
}, 200);
// 取消设置用户音频指示器
mRtcEngine.setAudioIndication(null, 200);
Web
调用 RtcEngine
实例的 setUserAudioIndication
方法设置接收到的音频音量指示,setRecordingAudioIndication
方法设置本地发送的音频音量提示。
示例代码:
rtcEngine.setUserAudioIndication(data => console.log('UserAudioIndication', data))
/* level: 音频强度,取值范围 [0, 1]
[{level: 0.11062855475608095, active: true, userId: "20000"},
{level: 0.06848426199873967, active: true, userId: "30000"}]
*/
rtcEngine.setRecordingAudioIndication(data => console.log('RecordingAudioIndication', data))
// {level: 0.0013325767979099124, active: true, userId: "10000"}
Electron
调用 RtcEngine
实例的 setAudioIndicator(indicator, intervalMs)
方法设置用户音频指示器。
indicator
表示回调函数(indicator
参数传入null
表示取消回调),具体请见下面示例代码。intervalMs
表示回调时间间隔,单位毫秒,不能低于 10ms,默认值为 200ms
示例代码:
// 设置用户音频指示器
rtcEngine.setAudioIndicator(obj => {
console.log('AudioIndicator:', obj)
// {active: true, level: 855, userId: "10000"}
// {active: false, level: 898, userId: "12345"}
// active: 本端的语音激活状态,当 userId 不为自己时,active 参数无效
// level: 音频强度,取值范围:[0, 32767]
}, 200);
// 取消设置用户音频指示器
rtcEngine.setAudioIndicator(null, 200);