在对通话质量要求高的场景下,进行通话前检测可以帮助提前识别并排查问题,保证实时通信体验。百家云 SDK 提供了完备的设备检测接口,帮助你实现检测本地麦克风、扬声器、摄像头等音视频设备能否正常工作,保证用户的使用体验。本文介绍如何使用相关 API 实现上述功能。相关函数接口在 c++-sdk 2.5.5 及以上版本支持。
进行设备检测可以保证设备获取的音频在经过网络传输后可以正常播放。 首先,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 提供了完备的设备检测接口,帮助你实现检测本地麦克风、扬声器、摄像头等音视频设备能否正常工作,保证用户的使用体验。本文介绍如何使用相关 API 实现上述功能。
相关函数接口在 c++-sdk 2.5.5 及以上版本支持。
音频采集设备测试
进行设备检测可以保证设备获取的音频在经过网络传输后可以正常播放。 首先,SDK会从设备的麦克风获取音频并在设备扬声器中播放。 然后,你可以判断音频的质量是否良好。
测试本地音频录制设备(如麦克风)是否正常工作,请参考以下步骤。
音频播放设备测试
测试本地音频播放设备(如外放设备)是否正常工作,请参考以下步骤。
视频采集设备测试
测试摄像头采集设备是否正常工作,请参考以下步骤。