我想为视频录制启动默认的iOS相机应用程序,但它不起作用。使用iOS默认相机应用程序无法捕捉视频。 Xamarin.iOS
每当我启动应用程序,它崩溃,并且不显示任何错误日志或任何其他错误消息。
如果我将imagePicker.CameraCaptureMode
设置为UIImagePickerControllerCameraCaptureMode.Photo
,以下代码可以很好地工作。
在此先感谢
我想为视频录制启动默认的iOS相机应用程序,但它不起作用。使用iOS默认相机应用程序无法捕捉视频。 Xamarin.iOS
每当我启动应用程序,它崩溃,并且不显示任何错误日志或任何其他错误消息。
如果我将imagePicker.CameraCaptureMode
设置为UIImagePickerControllerCameraCaptureMode.Photo
,以下代码可以很好地工作。
在此先感谢
我把它做这个工作:
var imagePicker = new UIImagePickerController();
imagePicker.SourceType = UIImagePickerControllerSourceType.Camera;
imagePicker.MediaTypes = new string[]{ UTType.Movie }; // ADD this
var imagePickerDelegate = new ImagePickerDelegate(this);
imagePicker.Delegate = imagePickerDelegate;
NavigationController.PresentModalViewController(imagePicker, true);
您也可以将您的委托调用,像这样:
imagePicker.FinishedPickingMedia += Handle_FinishedPickingMedia;
imagePicker.Canceled += Handle_Canceled;
然后创建这些方法:
protected void Handle_FinishedPickingMedia(object sender, UIImagePickerMediaPickedEventArgs e)
{
//code to handle picking media
}
void Handle_Canceled(object sender, EventArgs e)
{
imagePicker.DismissViewController(true, null);
}
更新
在iOS中10,你需要添加的权限,并提供说明,为什么你在info.plist
要求允许在这里看到:
我已经跟着这个,但是在视频模式下相机仍然崩溃。如果使用'新字符串[] {UTType.Image,UTType.Movie}',相机将成功启动到照片模式,但即使在相机内切换到视频模式,应用程序也会崩溃。任何帮助,你可以提供将不胜感激。 – Pithlit
你需要实现麦克风权限在info.plist中添加权限字符串参考这个http://stackoverflow.com/questions/38498275/ios-10-changes-in-asking-permissions-of-camera-microphone -and-photo-library-c如果您仍然有任何问题评论或提出新问题并发布您的代码。 –
@FahadRehman很酷感谢捕捉,我会更新我的答案。 –
请发布代码为ImagePickerDelegate – Jason