Web
RTC SDK为您提供音视频设备测试的方法,您可以在音视频通话前检查当前设备上的摄像头,麦克风以及扬声器等音视频设备是否正常工作,以保证音视频通话质量。通过阅读本文,您可以了解音视频设备测试的方法。
实现方法
采集设备测试
请参考以下步骤检测本地麦克风和摄像头等设备是否能正常工作:
通过设备管理接口获取可用设备和设备Id;
从前一步骤获取到的设备Id中选取想要测试的对象,在调用createMicrophoneAudioTrack() 和createCameraVideoTrack()时指定,创建本地音视频轨道对象;
创建完成后可开始测试:
调用摄像头轨道的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()方法,让用户确认是否有声音;