1

カメラ録画の実行を停止すると、iOS の赤いバーが偶然表示されます。

  • 私の意見では、アプリケーションがバックグラウンドに移行すると、赤いバーのみが表示されますが、B コントローラーが A コントローラーを閉じると表示されます。
  • でオーディオ バックグラウンド モードを開きましたplist。このオプションを閉じると、赤いバーが表示されなくなります。これは、オーディオ バックグラウンド モードを開いたときのユーザーへのリマインダーであることはわかっています。
  • 赤いバーがランダムに表示されると、コントローラーのビューが乱れます。
  • カメラの実行を停止しようとしましAudioSessionSetActive(false)たが、役に立ちません。このアクションは、オーディオ サンプルをすぐに停止できないように見えるため、赤いバーがランダムに表示されます。

次のように私のコード:

- (void)stopRunning{
    if (self.audioDeviceInput) {
        [self.captureSession removeInput:self.audioDeviceInput];
    }
    if (self.videoDeviceInput) {
        [self.captureSession removeInput:self.videoDeviceInput];
    }
    if (self.captureAudioDataOutput) {
        [self.captureSession removeOutput:self.captureAudioDataOutput];
    }
    if (self.captureVideoDataOutput) {
        [self.captureSession removeOutput:self.captureVideoDataOutput];
    }

    for (AVCaptureOutput *output1 in self.captureSession.outputs) {
        [self.captureSession removeOutput:output1];
    }
    self.videoDeviceInput = nil;
    self.captureAudioDataOutput = nil;
    self.audioConnection = nil;

    self.captureVideoDataOutput = nil;
    self.stillImageOutput = nil;
    self.videoConnection = nil;

    self.captureSession = nil;
    self.sessionInited = NO;

}

私の意見では、B コントローラーを閉じるとオーディオ入力を停止しますが、赤いバーがまだランダムに表示されるのはなぜですか?

赤いバーが表示されないように B コントローラーを閉じたときにどうすればよいか教えていただけますか?
4

0 に答える 0