本文档介绍如何使用ARTC SDK开启音量和说话人回调功能。
功能介绍
ARTC SDK 支持开启音量回调功能,App 可获取本地推流、播放及拉流用户的音量信息,用于实现音量波纹提示,展示房间内当前说话人。同时还支持说话人回调,可识别并返回当前音量最大的说话人。
调用时机
创建RTC引擎后。
用户入会前后均可。
示例代码
Android
开启/关闭功能
接口详细说明请参见enableAudioVolumeIndication、registerAudioVolumeObserver。
// 注册回调
mAliRtcEngine.registerAudioVolumeObserver(new AliRtcEngine.AliRtcAudioVolumeObserver() {
//请参见回调接口
)
// 开启
mAliRtcEngine.enableAudioVolumeIndication(300, 3, 1)
// 关闭
mAliRtcEngine.enableAudioVolumeIndication(0, 0, 0)
// 取消回调
mAliRtcEngine.unRegisterAudioVolumeObserver();
回调接口
回调详细说明请参见onAudioVolume、onActiveSpeaker。
// 注册回调
mAliRtcEngine.registerAudioVolumeObserver(new AliRtcEngine.AliRtcAudioVolumeObserver() {
@Override
public void onAudioVolume(List<AliRtcEngine.AliRtcAudioVolume> list, int totalVolume) {
ThreadUtils.runOnUiThread(new Runnable() {
@Override
public void run() {
for (AliRtcEngine.AliRtcAudioVolume it : list) {
// 本地推流
if (it.uid == "0")
{
}
// 本地播放
else if (it.uid == "1") {
}
// 拉流远端用户
else {
}
}
}
}
}
@Override
public void onActiveSpeaker(String activeSpeaker) {
}
}
)
iOS/Mac
开启/关闭功能
接口详细说明请参见enableAudioVolumeIndication。
// 开启
[self.engine enableAudioVolumeIndication:300 smooth:3 reportVad:1]
// 关闭
[self.engine enableAudioVolumeIndication:0 smooth:0 reportVad:0]
回调接口
回调详细说明请参见onAudioVolumeCallback,onActiveSpeaker。
// 回调
virtual void OnAudioVolumeCallback(const AliEngineUserVolumeInfo* volumeInfo, int volumeInfoCount, int totalVolume)
{
}
virtual void OnActiveSpeaker(const char *uid)
{
}
Windows
开启/关闭功能
接口详细说明请参见EnableAudioVolumeIndication。
// 开启
mAliRtcEngine.enableAudioVolumeIndication(300, 3, 1)
// 关闭
mAliRtcEngine.enableAudioVolumeIndication(0, 0, 0)
回调接口
回调详细说明请参见OnAudioVolumeCallback,OnActiveSpeaker。
// 回调
void CTutorialDlg::OnAudioVolumeCallback(const AliEngineUserVolumeInfo* volumeInfo, int volumeInfoCount, int totalVolume)
{
}
void CTutorialDlg::OnActiveSpeaker(const char *uid)
{
}
该文章对您有帮助吗?