在通话前检测可以帮助提前识别并排查音视频输入、输出设备可能存在的问题,保证实时通信体验。SDK 提供了完备的设备检测接口,帮助你实现检测本地麦克风、扬声器、摄像头等音视频设备能否正常工作。
下面举例说明一些常见的场景和使用方法:
SDK会从设备的麦克风获取音频数据并在设备扬声器中播放。你可以判断音频的质量是否良好。
测试本地音频录制设备(如麦克风)是否正常工作,请参考以下步骤:
// 读取麦克风设备列表 BRTCDeviceList* micList = m_pDeviceManager->getDevice(BRTCMediaDeviceTypeMic); // 设置第一个(或者用户指定的其他麦克风设备)为当前麦克风采集设备 m_pDeviceManager->setCurrentDevice(BRTCMediaDeviceTypeMic, micList->getDeviceName(0)); // 实现麦克风测试音量回调接口 void BRTCCore::onTestMicVolume(uint32_t volume) { LOG(INFO) << "test mic volume:" << volume; // 添加麦克风测试音量回调处理逻辑 } // 开始麦克风设备测试,设置麦克风音量回调时间间隔为200毫秒 m_pDeviceManager->startMicDeviceTest(200); // 停止麦克风设备采集测试 m_pDeviceManager->stopMicDeviceTest();
测试本地音频播放设备(如外放设备)是否正常工作,请参考以下步骤:
// 读取扬声器设备列表 BRTCDeviceList* micList = m_pDeviceManager->getDevice(BRTCMediaDeviceTypeSpeaker); // 设置第一个(或者用户指定的其他)扬声器设备为当前扬声器播放设备 m_pDeviceManager->setCurrentDevice(BRTCMediaDeviceTypeSpeaker, micList->getDeviceName(0)); // 实现扬声器测试音量回调接口 void BRTCCore::onTestSpeakerVolume(uint32_t volume) { LOG(INFO) << "test speaker volume:" << volume; // 添加扬声器测试音量回调处理逻辑 } std::string testFileMp3 = "brtcres/22.05K_2channels_70kbps.mp3"; // 开始扬声器设备测试 m_pDeviceManager->startSpeakerDeviceTest(testFileMp3.c_str()); // 停止扬声器设备采集测试 m_pDeviceManager->stopSpeakerDeviceTest();
测试摄像头采集设备是否正常工作,请参考以下步骤:
// 读取摄像头设备列表 BRTCDeviceList* micList = m_pDeviceManager->getDevice(BRTCMediaDeviceTypeCamera); // 设置第一个(或者用户指定的其他)摄像头设备为当前摄像头视频采集设备 m_pDeviceManager->setCurrentDevice(BRTCMediaDeviceTypeCamera, micList->getDeviceName(0)); // 开始摄像头采集设备测试 m_pDeviceManager->startCameraDeviceTest(view); // 停止摄像头采集设备采集测试 m_pDeviceManager->stopCameraDeviceTest();
通话前检测
在通话前检测可以帮助提前识别并排查音视频输入、输出设备可能存在的问题,保证实时通信体验。
SDK 提供了完备的设备检测接口,帮助你实现检测本地麦克风、扬声器、摄像头等音视频设备能否正常工作。
下面举例说明一些常见的场景和使用方法:
音频采集设备测试
SDK会从设备的麦克风获取音频数据并在设备扬声器中播放。你可以判断音频的质量是否良好。
测试本地音频录制设备(如麦克风)是否正常工作,请参考以下步骤:
音频播放设备测试
测试本地音频播放设备(如外放设备)是否正常工作,请参考以下步骤:
视频采集设备测试
测试摄像头采集设备是否正常工作,请参考以下步骤: