您可以通过使用 UIImagePickerController 本身来做到这一点。您提到您需要手动按下开始按钮,但这是不对的。
参考Apple's Documentation
有实例方法可用于通过代码捕获视频。startVideoCapture 和stopVideoCapture。
点击按钮实例化 imagePicker 对象.. 然后调用以下方法。
[yourImagePickerObject startVideoCapture];
之后您可以调用计时器或在延迟 15 秒后执行选择器并可以调用
[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 的值。
希望这会有所帮助:)