为保证通话或直播质量,我们推荐进行音视频设备测试,检测麦克风、摄像头等音视频设备能否正常工作。该功能对于有高质量要求的场景,如在线教育等,尤为适用。
参考以下步骤测试音视频设备:
startEchoTest
测试系统的音频设备(耳麦、扬声器等)和网络连接。startRecordingDeviceTest
测试录音设备,调用 startPlaybackDeviceTest
测试音频播放设备。startAudioDeviceLoopbackTest
测试音频设备回路(包括录音设备和音频播放设备)。startDeviceTest
方法测试视频采集设备。startEchoTest
,并使用该方法的 intervalInSeconds
参数设置返回测试结果的时间间隔;用户说话;SDK 在设定的时间间隔后,如果能正常播放该用户说的话,则说明音频设备及网络连接正常。// 开启回声测试
rtcEngine.startEchoTest(10);
// 等待并检查是否可以听到自己的声音回放
// 停止测试
rtcEngine.stopEchoTest;
startRecordingDeviceTest
;用户说话,如果录制设备正常工作,SDK 会触发 onAudioVolumeIndication
回调并报告音量信息。UID 为 0 表示本地音量。完成测试后,需调用 stopRecordingDeviceTest
停止录制设备测试。// 选择一个音频采集设备
lpDeviceManager->setRecordingDevice(strDeviceID);
// 实现音频音量回调接口
virtual void onAudioVolumeIndication(const AudioVolumeInfo* speakers, unsigned int speakerNumber, int totalVolume) {
(void)speakers;
(void)speakerNumber;
(void)totalVolume;
}
// 开始音频采集设备测试
(*lpDeviceManager)->startRecordingDeviceTest(1000);
// 停止音频采集设备测试
(*lpDeviceManager)->stopRecordingDeviceTest();
startPlaybackDeviceTest
,并指定播放的音频文件。如果能听到声音,则说明播放设备正常工作。完成测试后,需调用 stopPlaybackDeviceTest
停止播放设备测试。// 选择一个音频播放设备
lpDeviceManager->setPlaybackDevice(strDeviceID);
// 指定音频文件的绝对路径,启动播放设备测试。
(*lpDeviceManager)->startPlaybackDeviceTest(filePath);
// 停止音频播放设备测试。
(*lpDeviceManager)->stopPlaybackDeviceTest();
startAudioDeviceLoopbackTest
;用户说话,麦克风会采集本地讲话声音,然后用扬声器播放,同时 SDK 会在 onAudioVolumeIndication
回调中报告音量信息。UID 为 0 表示本地音量。完成测试后,需调用 stopAudioDeviceLoopbackTest
停止录制设备测试。enableVideo
开启视频模块后,调用 startDeviceTest
,并指定显示图像的窗口句柄,如果能看到本地采集的图像,则说明视频设备正常工作。完成测试后,需调用 stopDeviceTest
停止视频设备测试。// 选择一个视频采集设备
lpDeviceManager->setDevice(strDeviceID);
// 开始视频采集设备测试,如果正常的话,你将会看到画面预览
(*lpDeviceManager)->startDeviceTest(view);
// 停止视频采集设备测试
(*lpDeviceManager)->stopDeviceTest();
startEchoTest
stopEchoTest
enableAudioVolumeIndication
enumerateRecordingDevices
setRecordingDevice
enumeratePlaybackDevices
setPlaybackDevice
startRecordingDeviceTest
stopRecordingDeviceTest
startAudioDeviceLoopbackTest
stopAudioDeviceLoopbackTest
enumerateVideoDevices
startDeviceTest
stopDeviceTest
joinChannel
加入频道。