我尝试录制视频。 我收到的消息来自设备上的以下代码:
UIImagePickerController *imagePickerController = [[UIImagePickerController alloc] init];
imagePickerController.sourceType = UIImagePickerControllerSourceTypeCamera;
imagePickerController.allowsEditing = YES;
imagePickerController.cameraCaptureMode = UIImagePickerControllerCameraCaptureModeVideo;
imagePickerController.delegate = self;
[self presentModalViewController:imagePickerController animated:YES];
[imagePickerController release];
有什么想法吗?我认为录制视频应该很容易。当我启动手机的“相机”应用程序时,我可以选择视频和图片。它不应该也适用于我的应用程序吗?
提前10倍, Danail答案 0 :(得分:46)
问题在于我尝试将模式设置为视频模式。
而不是使用它:
imagePickerController.cameraCaptureMode = UIImagePickerControllerCameraCaptureModeVideo;
我把它更改为:
imagePickerController.mediaTypes =
[NSArray arrayWithObject:(NSString *)kUTTypeMovie];
并且有效。
答案 1 :(得分:10)
对于Swift 3.0,您必须添加以下行以支持照片和视频
import MobileCoreServices
imagePicker.mediaTypes = [kUTTypeMovie as String, kUTTypeImage as String]
答案 2 :(得分:7)
添加上面的答案,正如Micko所说,你需要在你的项目中添加MobileCoreServices.framework并在你的imagePickerController中引用它。 对于想要在图像拍摄视图中的工具栏下进行切换的用户,只需按如下方式设置mediaTypes委托:
imagePC.mediaTypes = [NSArray arrayWithObjects:(NSString *)kUTTypeMovie, (NSString *)kUTTypeImage, nil];
现在,您可以同时拍摄静态照片和视频,享受!!!
答案 3 :(得分:3)
如果您正在使用Swift,那么您将不得不添加MobileCoreServices.framework以及您尝试录制视频的以下模块!
import MobileCoreServices
然后整体你的代码将是这样的
var imag = UIImagePickerController()
imag.delegate = self
imag.sourceType = UIImagePickerControllerSourceType.Camera;
imag.cameraDevice = UIImagePickerControllerCameraDevice.Rear //or Front
imag.mediaTypes = [kUTTypeMovie];
self.presentViewController(imag, animated: true, completion: nil)
答案 4 :(得分:2)
Xcode 9 - Swift 4.x :
注意这些陈述的顺序:
imagePickerController.mediaTypes = [kUTTypeMovie as String]
imagePickerController.cameraCaptureMode = .video
您还记得添加到info.plist:
答案 5 :(得分:1)
此方法将在我的iPod中打开视频库4.不要使用我设备的摄像机。
有人会告诉我如何解决问题,我已经尝试了上述两种方式。
UIImagePickerController *imagePickerController = [[UIImagePickerController alloc] init];
imagePickerController.sourceType = UIImagePickerControllerSourceTypeCamera;
imagePickerController.allowsEditing = YES;
imagePickerController.cameraCaptureMode = UIImagePickerControllerCameraCaptureModeVideo;
imagePickerController.delegate = self;
[self presentModalViewController:imagePickerController animated:YES];
[imagePickerController release];
和
imagePickerController.mediaTypes =
[NSArray arrayWithObject:(NSString *)kUTTypeMovie];
感谢您的帮助。
答案 6 :(得分:1)
在这里输入代码请试试这个,这将打开摄像机
if([UIImagePickerController isSourceTypeAvailable:UIImagePickerControllerSourceTypeCamera])
{
UIImagePickerController *tmp_picker=[[UIImagePickerController alloc]init];
tmp_picker.sourceType=UIImagePickerControllerSourceTypeCamera;
tmp_picker.mediaTypes = [NSArray arrayWithObject:(NSString *)kUTTypeMovie];
tmp_picker.delegate=self;
[self presentModalViewController:tmp_picker animated:YES];
[tmp_picker release];
NSLog(@"button index is %i",buttonIndex);
}