保存视频; 使用UIImagePickerController; IOS 8 Swift

Mat*_*hew 8 uiimagepickercontroller ios swift

我是应用程序开发的新手,所以这可能是一个微不足道的问题,但请帮助!

我正在尝试使用UIImagePickerController类将视频保存到相机胶卷.到目前为止,我已成功拉起相机并保存图像.我也能够录制视频,但是当我按下"使用视频"时,它不会保存到相机胶卷.

下面是附加的didFinishPickingMediaWithInfo函数.

func imagePickerController(picker: UIImagePickerController, didFinishPickingMediaWithInfo info: [NSObject : AnyObject])
{
    let mediaType = info[UIImagePickerControllerMediaType] as NSString

    self.dismissViewControllerAnimated(true, completion: nil)

    if mediaType.isEqualToString(kUTTypeImage as NSString)
    {
        let image = info[UIImagePickerControllerOriginalImage] as UIImage

        if (newMedia == true)
        {
            UIImageWriteToSavedPhotosAlbum(image, self, "image:didFinishSavingWithError:contextInfo:", nil)
        }

        else if mediaType.isEqualToString(kUTTypeMovie as NSString)
        {
            let videoPath = info[UIImagePickerControllerMediaURL] as NSString

            if(newMedia == true)
            {
                UISaveVideoAtPathToSavedPhotosAlbum(videoPath, self,
                    "image:didFinishSavingWithError:contextInfo:", nil)
            }
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

这是useVideo例程.

@IBAction func useVideo(sender: AnyObject)
{
    if UIImagePickerController.isSourceTypeAvailable(UIImagePickerControllerSourceType.Camera)
    {

        let imagePicker = UIImagePickerController()

        imagePicker.delegate = self
        imagePicker.sourceType = UIImagePickerControllerSourceType.Camera
        imagePicker.mediaTypes = [kUTTypeMovie as NSString]
        imagePicker.allowsEditing = false

        self.presentViewController(imagePicker, animated: true, completion: nil)

        newMedia = true

    }
}
Run Code Online (Sandbox Code Playgroud)

这是cameraRoll.

@IBAction func useCameraRoll(sender: AnyObject) {
    if UIImagePickerController.isSourceTypeAvailable(UIImagePickerControllerSourceType.SavedPhotosAlbum){

        let imagePicker = UIImagePickerController()

        imagePicker.delegate = self
        imagePicker.sourceType = UIImagePickerControllerSourceType.PhotoLibrary
        imagePicker.mediaTypes = [kUTTypeImage as NSString]
        imagePicker.mediaTypes = [kUTTypeMovie as NSString]
        imagePicker.allowsEditing = false

        self.presentViewController(imagePicker, animated: true, completion: nil)

        newMedia = false
    }
}
Run Code Online (Sandbox Code Playgroud)

use*_*236 5

如果关闭你就不匹配了.

     if mediaType.isEqualToString(kUTTypeImage as NSString)
         {
             let image = info[UIImagePickerControllerOriginalImage] as UIImage

             if (newMedia == true)
             {
                 UIImageWriteToSavedPhotosAlbum(image, self, "image:didFinishSavingWithError:contextInfo:", nil)
             }
Run Code Online (Sandbox Code Playgroud)

} // < - 如果图像条件添加,则关闭此处}

     else if mediaType.isEqualToString(kUTTypeMovie as NSString)
          {
Run Code Online (Sandbox Code Playgroud)