Pano开发者中心
  • 开发者中心
  • 下载中心

›高级功能(RTC)

新手入门

  • 简介
  • 名词解释
  • 创建第一个应用

规则说明

  • Channel ID命名规则
  • 权限控制
  • 计费说明
  • 频道最大时长说明
  • 每月一万分钟免费说明
  • 布局参数说明
  • 水印

场景方案

    教育行业

    • 1vN互动小班课
    • 互动直播大班课

快速接入

  • 简介
  • 音视频

    • Windows (C++)
    • iOS (Objective-C)
    • Android (Java)
    • Web
    • Electron
    • Flutter
    • React Native
    • Unity

    白板

    • Windows (C++)
    • iOS (Objective-C)
    • Android (Java)
    • Web
    • Electron
    • Flutter
    • React Native

高级功能(RTC)

  • 简介
  • 屏幕共享
  • 分组讨论
  • 状态回调
  • 设备诊断
  • 音量指示
  • 控制声音
  • 声卡操作
  • 混音/伴音
  • 混响
  • 耳返
  • 变声
  • 美颜
  • 音视频数据回调
  • 音视频外部采集
  • 收发多路视频
  • 多窗口渲染
  • 性能检测
  • 截图
  • 反馈

高级功能(RTS)

  • 简介
  • 白板

    • Windows (C++)
    • iOS (Objective-C)
    • Android (Java)
    • Web
    • Flutter

    标注

    • 视频标注
    • 共享标注
    • 外部标注

    消息

    • 消息服务

    远程控制

    • 远程控制

操作实践

  • 切换大小屏

RESTful API

  • 基本格式
  • 生成Token
  • 频道管理
  • 云端录制
  • CDN推流
  • 文档转码
  • 消息服务
  • 服务端消息通知

SDK API

  • SDK接口说明
  • Windows (C++)
  • macOS/iOS (Objective-C)
  • Android (Java)
  • Web SDK (IE专用版)
  • Web SDK

    • 浏览器兼容性
    • RtcEngine
    • GroupManager
    • RtcWhiteboard
    • RtsService
    • RtcMessage
    • Annotation
    • Constants

更新记录

  • 简介
  • Windows
  • macOS
  • iOS
  • Android
  • Electron
  • Flutter
  • React Native
  • Unity
  • Web(全功能SDK)
  • Web(RTS SDK)
  • Web(IE专用音视频SDK)

帮助

  • FAQ
  • 更多帮助

音量指示

简介

Pano SDK 支持回调音频指示器(也称音量指示、音频强度)。

各端 SDK 相关接口,请查看下列介绍:

  • Windows (C++)
  • macOS/iOS (Objective-C)
  • Android (Java)
  • Web
  • Electron

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);
Last updated on 2022/1/10
← 设备诊断控制声音 →
  • 简介
  • Windows (C++)
  • macOS/iOS (Objective-C)
  • Android (Java)
  • Web
  • Electron
浙ICP备20002645号 ©2019-2022 Pano拍乐云