音声/ビデオデバイスのテスト

最終更新日:2021-10-19 14:28:46

    内容紹介

    ビデオ通話の前に、カメラおよびマイクなどのデバイスのテストを先に行うことを推奨します。テストしないと、ユーザーが実際にビデオ通話を行うときにデバイスの問題を見つけることが難しくなります。

    この機能のプラットフォームのサポート

    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;
    }