4

そのため、現在、正面向きの iPhone カメラでビデオをキャプチャし、ビデオ フィードをリアルタイムで処理できるアプリケーションがあります。ただし、私がやろうとしているのは、このプロセスをバックグラウンドで実行し、他のコントロールを画面に表示することです。たとえば、カメラを実行して画像フィードを処理したいが、ユーザーにはいくつかのボタンが表示された黒い画面を表示したいとします。これを行う方法についてのアイデアはありますか?

4

2 に答える 2

16

用語を正しく理解するために、「バックグラウンドで」とは、アプリケーションがフォアグラウンドにあるときにカメラ キャプチャを実行するが、実際のビデオ フィードを表示しないことを意味します。これは可能ですが、アプリケーション全体をバックグラウンドに移動すると、カメラにアクセスできなくなることを明確にしたかったのです。

これを行うにはいくつかの方法がありますが、私が最も時間を費やしたのは、AV Foundation を介してビデオ (または写真) のフレームを取得することです。AVCaptureDevice と AVCaptureSession を使用すると、ビデオのフレームを取得してエンコーダにルーティングし、ディスクに保存したり、独自のカスタム コードを使用して処理したりできます。カメラ フィードを画面上に表示する必要がないため、好きなインターフェイスを設置して、画面上の表示なしでこのビデオ録画または写真キャプチャを行うことができます。

誰かのプライバシーを侵害するリスクを冒さないように、何をしているのかをユーザーに明示する必要があることに注意してください。Apple は、これを行う人に (正当な理由で) 親切に反応しません。

私はオープン ソースのGPUImageビデオおよび写真処理フレームワーク内にこれらの多くをカプセル化しているので、そこにある GPUImageVideoCamera クラスのコードを見て、キャプチャ入力を構成する方法を確認できます。フィルターやその他の処理操作を適用するために、ビデオ フレームを OpenGL ES に渡しますが、独自のエンコードまたは処理を行うだけであれば、その部分を無視できます。

于 2012-07-05T16:16:04.297 に答える
1

Apple のドキュメントのコード例を次に示します: http://developer.apple.com/library/ios/#samplecode/PhotoPicker/Introduction/Intro.html カメラ インターフェイスをカスタマイズする方法もあります。

于 2012-07-05T15:03:32.760 に答える