0

我想在我按下按钮时自动从我的 iphone 设备录制视频,录制 15 秒后视频应该停止,我想将视频保存到目录中。

我曾尝试使用 imagepicker,但为此我们需要手动按下开始按钮来开始视频录制。我希望当用户按下按钮时相机应该开始重新编码视频。

谢谢。

4

2 回答 2

3

您可以通过使用UIImagePickerController自身来做到这一点。您提到您需要手动按下开始按钮,但这是不对的。

参考Apple 的文档

有可用于通过代码捕获视频的实例方法。startVideoCapturestopVideoCapture

在按钮的单击上实例化 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 的值。希望这可以帮助 :)

于 2013-04-15T10:17:49.570 回答
1

可能设置VideoMaximumuration为 15 秒将解决您的问题

[yourImagePickerObject setVideoMaximumDuration:15];

于 2016-09-21T07:05:38.433 回答