ボタンを押したときに iPhone デバイスから自動的にビデオを録画したいのですが、15 秒間録画するとビデオが停止し、ビデオをディレクトリに保存したいと考えています。
imagepicker を使用してみましたが、そのためには開始ボタンを手動で押してビデオ録画を開始する必要があります。ユーザーがボタンを押すと、カメラがビデオの録画を開始する必要があります。
ありがとう。
これは、それ自体を使用して行うことができますUIImagePickerController
。手動でスタートボタンを押す必要があるとおっしゃいましたが、それは正しくありません。
Apple のドキュメントを参照してください
コードでビデオをキャプチャするために使用できるインスタンス メソッドがあります。startVideoCapture
とstopVideoCapture
。
ボタンをクリックすると、imagePickerオブジェクトがインスタンス化され、次のメソッドが呼び出されます。
[yourImagePickerObject startVideoCapture];
その後、タイマーを呼び出すか、15 dec の遅延後にセレクターを実行して呼び出すことができます
[yourImagePickerObject stopVideoCapture];
このメソッドは、画像ピッカーのデリゲート メソッドを呼び出します– imagePickerController:didFinishPickingMediaWithInfo:
ここでメディアを処理し、ドキュメント ディレクトリに書き込むことができます。
アップデート
ボタンをクリックすると、画像ピッカーが表示され、startVideoCapture
メソッドが呼び出されますが、presentModalView 行の後にボタンのイベントをフォローするだけでは機能しません。
int64_t delayInSeconds = 1.0;
dispatch_time_t popTime = dispatch_time(DISPATCH_TIME_NOW, delayInSeconds * NSEC_PER_SEC);
dispatch_after(popTime, dispatch_get_main_queue(), ^(void){
[yourImagePickerobj startVideoCapture];
[objImgPicker performSelector:@selector(stopVideoCapture) withObject:nil afterDelay:15];
});
delayInSeconds の値を変更して試すことができます。お役に立てれば :)
15秒に設定VideoMaximumuration
すると問題が解決する場合があります
[yourImagePickerObject setVideoMaximumDuration:15];