11

Apple が iOS 4.0 をリリースした後、 http://developer.apple.com/iphone/library/qa/qa2010/qa1702.htmlで指定されたコードに従って、継続的に画像をキャプチャするために AV Foundation を使用しています。

ただし、「[session startRunning];」を呼び出すと、カメラのプレビューを開始するには、約 1 ~ 2 秒かかります。そのため、エンド ユーザーはしばらく待つ必要があるため、イライラさせられます。

プログラムの起動時にセッションを開始し、ユーザーがカメラ画面に移動してそこで実行を開始するまで一時停止できるため、セッションを停止する代わりに一時停止する方法はありますか? 助けてくれてありがとう。

4

3 に答える 3

2

セッションを「一時停止」する方法はありませんが、キャプチャ セッションの実行をいつでも開始して、そのままにしておくことができます。静止画像をキャプチャする場合は、準備ができたら、captureStillImageAsynchronouslyFromConnection を呼び出すだけです。ビデオをキャプチャしている場合は、デリゲートの captureOutput:didOutputSampleBuffer:fromConnection: メソッドで、フレームを処理する必要があるまでフレームを破棄することができます。準備が整うまで、出力デバイスなしでキャプチャ セッションを開始できる場合もあります (まだ試していません)。

于 2010-12-30T07:05:33.150 に答える
1

これは、-startRunning を呼び出すときに UI が最初の 1 ~ 2 秒をロックしないようにするために行ったことです。

1) Add UIActivityIndicator
2) Add observer to AVCaptureSession
3) call -startRunning in a background thread
4) Resume the UI in the notification callback
于 2013-05-17T03:44:15.590 に答える