ビデオ通話の前に、カメラおよびマイクなどのデバイスのテストを先に行うことを推奨します。テストしないと、ユーザーが実際にビデオ通話を行うときにデバイスの問題を見つけることが難しくなります。
iOS | Android | Mac OS | Windows | Electron | Web端末 |
---|---|---|---|---|---|
× | × | ✓ | ✓ | ✓ | ✓(Web 端) |
TRTCCloudのstartCameraDeviceTestInView
インターフェースを使用すればカメラテストが行えます。テストのプロセスではsetCurrentCameraDevice
関数をコールすることでカメラを切り替えられます。
// カメラテストインターフェースの表示(カメラのプレビュー、カメラの切り替えのサポート)
- (IBAction)startCameraTest:(id)sender {
// カメラテストの開始。 cameraPreviewをmacOSのNSViewまたはiOSプラットフォームのUIView
[self.trtcCloud startCameraDeviceTestInView:self.cameraPreview];
}
//カメラテストインターフェースの停止
- (void)windowWillClose:(NSNotification *)notification{
// カメラテストの終了
[self.trtcCloud stopCameraDeviceTest];
}
TRTCCloudのstartMicDeviceTest
関数を使用すると、マイクの音量を測定でき、コールバック関数はリアルタイムでマイク音量値を返します。
// マイクテストサンプルコード
-(IBAction)micTest:(id)sender {
NSButton *btn = (NSButton *)sender;
if (btn.state == 1) {
//マイクテストの開始
__weak __typeof(self) wself = self;
[self.trtcCloud startMicDeviceTest:500 testEcho:^(NSInteger volume) {
dispatch_async(dispatch_get_main_queue(), ^{
// マイク音量のプログレスバーの更新
[wself _updateInputVolume:volume];
});
}];
btn.title = @"テストの停止";
}
else{
//マイクテストの終了
[self.trtcCloud stopMicDeviceTest];
[self _updateInputVolume:0];
btn.title = @"テスト開始";
}
}
TRTCCloudのstartSpeakerDeviceTest
関数を使用し、デフォルトのmp3オーディオデータを再生することで、スピーカーが正常に動作しているかテストします。
// スピーカーテストサンプルコード
// NSButtonのクリックイベントを例にすると、xibの中ではButtonをOnおよびOffの下のタイトルでそれぞれ「テスト終了」および「テスト開始」に設定しています。
- (IBAction)speakerTest:(NSButton *)btn {
NSString *path = [[NSBundle mainBundle] pathForResource:@"test-32000-mono" ofType:@"mp3"];
if (btn.state == NSControlStateValueOn) {
// 「テスト開始」のクリック
__weak __typeof(self) wself = self;
[self.trtcEngine startSpeakerDeviceTest:path onVolumeChanged:^(NSInteger volume, BOOL playFinished) {
// 以下のUI操作に関しては、main queueに切り替えてから実行する必要があります
dispatch_async(dispatch_get_main_queue(), ^{
// ここでは、_updateOutputVolumeは更新ページのスピーカー音量インジケータです
[wself _updateOutputVolume:volume];
if (playFinished) {
// 再生完了時にはボタンのステータスを「テスト開始」にします
sender.state = NSControlStateValueOff;
}
});
}];
} else {
// 「テスト終了」をクリック
[self.trtcEngine stopSpeakerDeviceTest];
[self _updateOutputVolume:0];
}
}
// スピーカー音量インジケータの更新
- (void)_updateOutputVolume:(NSInteger)volume {
// speakerVolumeMeterはNSLevelIndicatorです
self.speakerVolumeMeter.doubleValue = volume / 255.0 * 10;
}
この記事はお役に立ちましたか?