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 (Objective-C)
  • Electron
  • Web

Windows (C++)

视频采集设备测试

请查看 快速接入 文档的章节:获取视频采集设备 和 本地预览,通过预览视频采集画面测试其工作情况。

音频录制和播放设备测试

通过 RtcEngine 实例的 getAudioDeviceManager 方法获取音频设备管理器(AudioDeviceManager)。

  • 通过其 enumerateRecordDevices 方法枚举音频录制设备,enumeratePlayoutDevices 方法枚举音频播放设备。
  • 通过其 startDeviceTest 方法进行环回测试(将采集的声音通过本地播放出来),通过 stopDeviceTest 方法停止该测试。
  • 通过其 startRecordDeviceTest 方法测试音频录制设备,通过 stopRecordDeviceTest 方法停止该测试。
  • 通过其 startPlayoutDeviceTest 方法测试音频播放设备(需要通过 filename 参数传入测试用的本地音频文件的完整路径,支持的音频文件格式:mp3, aac, wav),通过 stopPlayoutDeviceTest 方法停止该测试。
  • 通过其 getTestRecordingLevel 方法获取测试期间的音频录制强度值(取值范围:0 - 32767),用于展示录制强度指示条。
  • 通过其 getTestPlayoutLevel 方法获取测试期间的音频播放强度值(取值范围:0 - 32767),用于展示播放强度指示条。

可以在加入频道前进行测试,也可以在加入频道后测试,但是除上述接口在加入频道前后均可调用外,AudioDeviceManager 的以下接口仅可在加入频道成功后调用:

  • setRecordDeviceVolume / getRecordDeviceVolume
  • setPlayoutDeviceVolume / getPlayoutDeviceVolume
  • getRecordingLevel / getPlayoutLevel

macOS (Objective-C)

获取设备

  • 通过 PanoRtcEngineKit 的类方法 + engineWithConfig:delegate: 初始化实例。
  • 通过 PanoRtcEngineKit 实例的 - enumerateDevices: 方法枚举设备,将返回 PanoRtcDeviceInfo 数组,包含 deviceId 设备唯一标识 和 deviceName 设备名称。
  • 通过 PanoRtcEngineKit 实例的 - setDevice:withType: 方法设置需要使用的设备,参数 deviceId 传入设备唯一标识,参数 type 为 kPanoDeviceVideoCamera 时表示视频采集设备,为 kPanoDeviceAudioRecord 时表示音频录制设备,为 kPanoDeviceAudioPlayout 时表示音频播放设备。

视频采集设备测试

通过 PanoRtcEngineKit 实例的 - startPreview:withView:config: 方法 或 - startPreview:withDelegate:profile: 方法预览视频采集画面测试其工作情况。
两个方法的区别在于:前者附带渲染视图,后者附带外置渲染器。

音频录制和播放设备测试

  • 通过 PanoRtcEngineKit 实例的 - startAudioDeviceTestWithRecord:playout: 方法进行环回测试(将采集的声音通过本地播放出来),通过 - stopAudioDeviceTest 方法停止该测试。
  • 通过 PanoRtcEngineKit 实例的 - startRecordDeviceTest: 方法测试音频录制设备,通过 - stopRecordDeviceTest 方法停止该测试。
  • 通过 PanoRtcEngineKit 实例的 - startPlayoutDeviceTest:filename: 方法测试音频播放设备(需要通过 filename 参数传入测试用的本地音频文件的完整路径,支持的音频文件格式:mp3, aac, wav),通过 - stopPlayoutDeviceTest 方法停止该测试。
  • 通过 PanoRtcEngineKit 实例的 - getTestRecordingLevel 方法获取测试期间的音频录制强度值(取值范围:0 - 32767),用于展示录制强度指示条。
  • 通过 PanoRtcEngineKit 实例的 - getTestPlayoutLevel 方法获取测试期间的音频播放强度值(取值范围:0 - 32767),用于展示播放强度指示条。

Electron

视频采集设备测试

请查看 快速接入 文档的章节:获取视频采集设备 和 本地预览,通过预览视频采集画面测试其工作情况。

音频录制和播放设备测试

通过 RtcEngine 实例的 audioDeviceMgr() 方法获取音频设备管理器。

  • 通过其 getRecordDeviceList() 方法获取音频录制设备列表,getPlayoutDeviceList() 方法获取音频播放设备列表。
  • 通过其 startRecordDeviceTest(deviceId) 方法测试音频录制设备,通过 stopRecordDeviceTest() 方法停止该测试。
  • 通过其 startPlayoutDeviceTest(deviceId, fileName) 方法测试音频播放设备(需要通过 filename 参数传入测试用的本地音频文件的完整路径,支持的音频文件格式:mp3, aac, wav),通过 stopPlayoutDeviceTest() 方法停止该测试。
  • 通过其 getTestRecordingLevel() 方法获取测试期间的音频录制强度值(取值范围:0 - 32767),用于展示录制强度指示条。
  • 通过其 getTestPlayoutLevel() 方法获取测试期间的音频播放强度值(取值范围:0 - 32767),用于展示播放强度指示条。

可以在加入频道前进行测试,也可以在加入频道后测试,但是除上述接口在加入频道前后均可调用外,音频设备管理器的以下接口仅可在加入频道成功后调用:

  • setRecordDeviceVolume / getRecordDeviceVolume
  • setPlayoutDeviceVolume / getPlayoutDeviceVolume
  • getRecordingLevel / getPlayoutLevel

示例代码:

let audioDeviceMgr = rtcEngine.audioDeviceMgr(); // 获取音频设备管理器
let recordDeviceList = audioDeviceMgr.getRecordDeviceList(); // 获取音频录制设备列表
console.log('recordDeviceList: ', recordDeviceList);
let playoutDeviceList = audioDeviceMgr.getPlayoutDeviceList(); // 获取音频播放设备列表
console.log('playoutDeviceList: ', playoutDeviceList);

let recordDeviceId = recordDeviceList[0].deviceId; // 实际使用时请注意选择设备
audioDeviceMgr.startRecordDeviceTest(recordDeviceId); // 测试音频录制设备
let interval = setInterval(()=>{
    let testRecordingLevel = audioDeviceMgr.getTestRecordingLevel(); // 获取测试期间的音频录制强度值
    console.info('testRecordingLevel: ', testRecordingLevel);
}, 500);
// clearInterval(interval);
// audioDeviceMgr.stopRecordDeviceTest(); // 停止测试音频录制设备

let playoutDeviceId = playoutDeviceList[1].deviceId; // 实际使用时请注意选择设备
audioDeviceMgr.startPlayoutDeviceTest(playoutDeviceId, 'Path\\FileName.mp3'); // 测试音频播放设备
interval = setInterval(()=>{
    let testPlayoutLevel = audioDeviceMgr.getTestPlayoutLevel(); // 获取测试期间的音频播放强度值
    console.info('testPlayoutLevel: ', testPlayoutLevel);
}, 500);
// clearInterval(interval);
// audioDeviceMgr.stopPlayoutDeviceTest(); // 停止测试音频播放设备

Web

视频采集设备测试

请查看 快速接入 文档的章节:获取摄像头列表 和 本地预览,通过预览视频采集画面测试其工作情况。

音频录制和播放设备测试

通过 RtcEngine 实例的 getMics 方法获取麦克风列表,通过 startRecordDeviceTest 方法开启麦克风测试,stopRecordDeviceTest 方法停止麦克风测试。

Web SDK 暂未提供测试扬声器的方法。

示例代码:

// 获取麦克风列表
this.rtcEngine.getMics(
  devices => {
    console.log("getMics 列表:", devices);
    this.deviceId = devices[0].deviceId; // 此处出于演示目的,直接使用第 0 个元素,实际场景请按需处理
  },
  error => { console.error("getMics 出现错误:", error); }
);

// 开启麦克风测试
this.rtcEngine.startRecordDeviceTest(
  this.deviceId,
  obj => {
    this.micTestID = obj.micTest;
    console.log("RecordDeviceTest 测试结果:", obj.audioLevel);
  },
  error => { console.error("startRecordDeviceTest 出现错误:", error); }
);

// 停止麦克风测试
let result = this.rtcEngine.stopRecordDeviceTest(this.micTestID);
console.log("stopRecordDeviceTest 调用结果:", result);
Last updated on 2022/1/19
← 状态回调音量指示 →
  • 简介
  • Windows (C++)
    • 视频采集设备测试
    • 音频录制和播放设备测试
  • macOS (Objective-C)
    • 获取设备
    • 视频采集设备测试
    • 音频录制和播放设备测试
  • Electron
    • 视频采集设备测试
    • 音频录制和播放设备测试
  • Web
    • 视频采集设备测试
    • 音频录制和播放设备测试
浙ICP备20002645号 ©2019-2022 Pano拍乐云