iPhone:SetSampleBufferDelegateを介して個々のフレームを処理するときの前面/バックAVCaptureDeviceInputカメラを切り替える

StackOverflow https://stackoverflow.com//questions/9662897

質問

AvCaptureVideDataOutput:SetSampleBufferDelegateセレクタを介して、フロントカメラの使用からバックカメラを使用しないように切り替えようとすると、興味深い問題に遭遇しました。カメラのスワップの作品と私が表示しているプレビュー画面は素晴らしく見えます。私がキャプチャしているフレームが縦モードではなく、ランドスケープにあります。また、前面からの交換後、バックカメラに戻ると、バックカメラが風景フレームを撮影します。これが入力をスワップアウトするときに何かがねじ込まれている場合のようなものだと思います - それは正しくない入力ではありません。私は前面に直面してAvcaptureSessionを始めることによってこの理論を検証しました - バッファの代表者に渡されたフレームは縦モードで正しくあります。デバイスの入力が結果の違いに入れられない状態で、明示的にAvCapturesSessionを停止することでプレイしました。

私はインスピレーションのためにAvcamデモからくっつく。そのコードと鉱山の疑わしい違いは、それがAvcaptureMoviefileOutputに記録することです - それは個々のフレームを処理しません。

任意のアイデア?デバイス入力を交換すると、プロセッサに送信されたフレームの向きが変更されるのはなぜですか?

何らかの応答をありがとう!

役に立ちましたか?

解決

ああハ!私はそれを考え出した。デバイスを切り替えた後、私のビデオ出力のAVCaptureConnectionが横方向にリセットされていることがわかっています。この問題を解決するには、入力をスワップした後、ビデオ出力のAvCaptureConnectionを明示的に求めて縦向きに設定します。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top