RTC SDK为您提供音视频设备测试的方法,您可以在音视频通话前检查当前设备上的摄像头,麦克风以及扬声器等音视频设备是否正常工作,以保证音视频通话质量。通过阅读本文,您可以了解音视频设备测试的方法。

实现方法

采集设备测试

请参考以下步骤检测本地麦克风和摄像头等设备是否能正常工作:

  1. 通过设备管理接口获取可用设备和设备Id;

  2. 从前一步骤获取到的设备Id中选取想要测试的对象,在调用createMicrophoneAudioTrack()createCameraVideoTrack()时指定,创建本地音视频轨道对象;

  3. 创建完成后可开始测试:

    • 调用摄像头轨道的play()方法,若能正常看到画面代表摄像头设备正常;

    • 调用麦克风轨道的getVolumeLevel()方法,若返回值大于0说明麦克风正常;

示例代码:

import DingRTC from 'dingrtc';

DingRTC.getCameras().then(async (cameraList) => {
  const cameraId = cameraList[0].deviceId;
  const cameraTrack = await DingRTC.createCameraVideoTrack({ deviceId: cameraId });
  cameraTrack.play('#videoWrapper');
})

DingRTC.getMicrophones().then(async (microphoneList) => {
  const microphoneId = microphoneList[0].deviceId;
  const microphoneTrack = await DingRTC.createMicrophoneAudioTrack({ deviceId: microphoneId });
  setInterval(() => {
    console.log(`audioLevel: ${microphoneTrack.getVolumeLevel()}`)
  }, 600);
})

扬声器测试

RTC SDK 不提供API用来测试扬声器,但您可以通过以下方法来进行测试:

  • 使用HTML 的 audio 标签来播放一个音频文件,让用户确认是否有声音;

  • 在进行麦克风设备采集后,可调用麦克风轨道对象的play()方法,让用户确认是否有声音;