Android&iOS&Windows&Mac&Flutter

最近更新时间:2025-07-25 16:11:52

我的收藏

内容介绍

在进行视频通话之前,建议先进行摄像头和麦克风等设备的测试,否则等用户真正进行通话时很难发现设备问题。


支持此功能的平台

iOS
Android
Mac OS
Windows
Electron
Flutter
微信小程序
Web 端
×
×
×
✓(Web 端

测试摄像头

使用 TRTCCloud 的 startCameraDeviceTestInView 接口可以进行摄像头测试,在测试过程中可以通过调用 setCurrentCameraDevice 函数切换摄像头。
Mac平台
Windows平台(C++)
Windows平台(C#)
Flutter
- (IBAction)startCameraTest:(id)sender {
[self.deviceManager startCameraDeviceTest:self.cameraPreview];
}

- (void)windowWillClose:(NSNotification *)notification{
[self.deviceManager stopCameraDeviceTest];
}
// 启动摄像头测试。传入需要渲染视频的控件句柄。
void TRTCMainViewController::startTestCameraDevice(void* view)
{
deviceManager->startCameraDeviceTest(view);
}

// 关闭摄像头测试
void TRTCMainViewController::stopTestCameraDevice()
{
deviceManager->stopCameraDeviceTest();
}

// 启动摄像头测试。传入需要渲染视频的控件句柄。
private void startTestCameraDevice(Intptr hwnd)
{
deviceManager.startCameraDeviceTest(hwnd);
}

// 关闭摄像头测试
private void stopTestCameraDevice()
{
deviceManager.stopCameraDeviceTest();
}

void startTestCameraDevice(int viewId) {
_txDeviceManager.startCameraDeviceTest(viewId);
}

void stopTestCameraDevice() {
_txDeviceManager.stopCameraDeviceTest();
}

麦克风测试

使用 TRTCCloud 的 startMicDeviceTest 函数可以测试麦克风音量,回调函数会返回实时的麦克风音量值。
Mac平台
Windows平台(C++)
Windows平台(C#)
Flutter

- (IBAction)onClickMicTest:(id)sender {
NSButton *btn = (NSButton *)sender;
if (btn.state == 1) {
__weak __typeof(self) wself = self;
[self.deviceManager startMicDeviceTest:300 testEcho:^(NSInteger volume) {
dispatch_async(dispatch_get_main_queue(), ^{
[wself _updateInputVolume:volume];
});
}];
btn.title = @"Stop Test";
}
else{
[self.deviceManager stopMicDeviceTest];
[self _updateInputVolume:0];
btn.title = @"Start Test";
}
}
// 麦克风测试示例代码
void TRTCMainViewController::startTestMicDevice()
{
// 设置音量回调频率,此处500ms回调一次,在 onTestMicVolume 回调接口监听。
uint32_t interval = 500;
// 开始麦克风测试
deviceManager->startMicDeviceTest(interval);
}

// 结束麦克风测试
void TRTCMainViewController::stopTestMicDevice()
{
deviceManager->stopMicDeviceTest();
}

// 麦克风测试示例代码
private void startTestMicDevice()
{
// 设置音量回调频率,此处500ms回调一次,在 onTestMicVolume 回调接口监听。
uint interval = 500;
// 开始麦克风测试
deviceManager.startMicDeviceTest(interval);
}

// 结束麦克风测试
private void stopTestMicDevice()
{
deviceManager.stopMicDeviceTest();
}

void startMicDeviceTest(int interval) {
_txDeviceManager.startMicDeviceTest(interval);
}

void stopMicDeviceTest() {
_txDeviceManager.stopMicDeviceTest();
}

扬声器测试

使用 TRTCCloud 的 startSpeakerDeviceTest 函数会通过播放一段默认的 mp3 音频测试扬声器是否在正常工作。
Mac平台
Windows平台(C++)
Windows平台(C#)
Flutter

- (IBAction)onClickSpeakerTest:(NSButton *)sender {
NSString *path = [[NSBundle mainBundle] pathForResource:@"test" ofType:@"mp3"];
NSButton *btn = (NSButton *)sender;
if (btn.state == NSControlStateValueOn) {
__weak __typeof(self) wself = self;
[self.deviceManager startSpeakerDeviceTest:path onVolumeChanged:^(NSInteger volume, BOOL playFinished) {
dispatch_async(dispatch_get_main_queue(), ^{
[wself _updateOutputVolume:volume];
if (playFinished) {
sender.state = NSControlStateValueOff;
}
});
}];
} else {
[self.deviceManager stopSpeakerDeviceTest];
[self _updateOutputVolume:0];
}
}
// 扬声器测试示例代码
void TRTCMainViewController::startTestSpeakerDevice(std::string testAudioFilePath)
{
// testAudioFilePath 音频文件的绝对路径,路径字符串使用 UTF-8 编码格式,支持文件格式: wav、mp3。
// 从 onTestSpeakerVolume 回调接口监听扬声器测试音量值。
deviceManager->startSpeakerDeviceTest(testAudioFilePath.c_str());
}

// 结束扬声器测试
void TRTCMainViewController::stopTestSpeakerDevice() {
deviceManager->stopSpeakerDeviceTest();
}

// 扬声器测试示例代码
private void startTestSpeakerDevice(string testAudioFilePath)
{
// testAudioFilePath 音频文件的绝对路径,路径字符串使用 UTF-8 编码格式,支持文件格式: wav、mp3。
// 从 onTestSpeakerVolume 回调接口监听扬声器测试音量值。
deviceManager.startSpeakerDeviceTest(testAudioFilePath);
}

// 结束扬声器测试
private void stopTestSpeakerDevice() {
deviceManager.stopSpeakerDeviceTest();
}

void startSpeakerDeviceTest(String filePath) {
_txDeviceManager.startSpeakerDeviceTest(filePath);
}

void stopSpeakerDeviceTest() {
_txDeviceManager.stopSpeakerDeviceTest();
}