10

AVFoundationを使用して、単一のセッションでビデオキャプチャを繰り返し一時停止および再開する機能を実装する方法を見つけようとしていますが、新しいセグメント (一時停止ごとにキャプチャされたセグメント) を同じビデオファイルに追加します。現在、「停止」を押してからもう一度「録画」を押すたびに、新しいビデオ ファイルが iPhone のアルバムに保存され、別のファイルまたは新しいファイルへのキャプチャが開始されます。「録画/停止」ボタンを何度も押すことができるようにする必要があります...録画がアクティブなときにのみビデオとオーディオをキャプチャします...その後、「完了」ボタンが押されたときに、すべてのファイルを含む単一のAVファイルを作成します一緒にセグメントします。そして、これらすべてが同じキャプチャ セッション/プレビュー セッションで発生する必要があります。

これを試すために私が考えることができる唯一の方法は、「完了」ボタンが押され、個々の出力ファイルを取得し、それらを単一のファイルに結合することです...しかし、基本的に個別の束を貼り付ける処理時間はかなり確信しています一緒にクリップは受け入れられません。さらに、コードが多すぎるため、これは非常に面倒で不必要な方法になるようです。

単一のセッション内でビデオ キャプチャを一時停止し、同じファイルへのキャプチャを再開する簡単な方法はありますか? または他のアイデアはありますか?

それほど問題がなければ、サンプル コードは私を大いに助けてくれるでしょう... 私はまだ独学で学んでいるので、説明の専門用語や用語に従うのは苦手です。ありがとう

編集: これは、AVFoundation を学習するために開始しているプロジェクトです... したがって、これは上記の機能を実現するために変更しようとしているコードです: http://developer.apple.com/library/ios/#samplecode/AVCam /はじめに/Intro.html

4

2 に答える 2

11

キャプチャ セッションからのムービー ファイル出力を使用する代わりにAVCaptureVideoDataOutput、デリゲートで および を使用して、サンプルを のインスタンスに渡すことができますAVAssetWriterInput。次に、プレビューを録音から切り離すことができます。デリゲートがバッファーをアセット ライターに転送しない場合、その部分の記録はありません。

同じファイルへの 2 回目 (およびそれ以降) のセッションの記録を開始したい場合は、停止した時点からタイムスタンプが連続するようにタイムスタンプを調整する必要があります。オーディオとビデオの両方を調整して、同期を維持します。少し面倒ですが、確かに機能します。

編集:これを示すサンプルの iPhone アプリがあります。

于 2013-02-20T17:53:15.030 に答える
1

一般に、AVCaptureSession を使用している場合は、startRunning と stopRunning を使用します。私はあなたがそうすると思います。

AVCaptureSession のドキュメントを参照してください。

于 2013-02-16T01:41:05.583 に答える