2016-08-23 2 views
5

UIImagePicker에서 비디오를 가져와 내 restkit API를 통해 데이터로 보내려고합니다. 내가 장치에서 비디오를 처리하는 방법은 다음과비디오 URL에서 NSData를 얻으려면 어떻게해야합니까?

Error Domain=NSCocoaErrorDomain Code=256 "The file “asset.MOV” couldn’t be opened." UserInfo={NSURL=assets-library://asset/asset.MOV?id=B906AB1B-F311-47BA-8FE9-EE7AADDB7796&ext=MOV}

+0

가능한 중복 [ NSCocoaErrorDomain Code = 256] (http://stackoverflow.com/questions/10106) 087/nscocoaerrordomain-code-256) – JAL

+0

NSURL (fileURLWithPath : videoPath)' –

답변

1

됩니다 :

func imagePickerController(picker: UIImagePickerController, didFinishPickingMediaWithInfo info: [String : AnyObject]) { 
     let videoURL = info["UIImagePickerControllerReferenceURL"] as? NSURL 

var movieData: NSData? 
     do { 
      movieData = try NSData(contentsOfURL: videoPath, options: .DataReadingMappedIfSafe) 
     } catch { 
      print(error) 
      movieData = nil 
      return 
     } 

// Multipart Form Request for RestKit POST goes here 

     imagePickerController.dismissViewControllerAnimated(true, completion: nil) 
    } 

다음과 같은 오류를 얻기

@IBAction func addVideoFromDevice(_ sender: AnyObject) { 
    let mediaUI = UIImagePickerController() 
    mediaUI.sourceType = .savedPhotosAlbum 
    mediaUI.mediaTypes = [kUTTypeMovie as NSString as String] 
    mediaUI.allowsEditing = true 
    mediaUI.delegate = self 
    present(mediaUI, animated: true, completion: nil) 
} 

func imagePickerController(_ picker: UIImagePickerController, didFinishPickingMediaWithInfo info: [String : AnyObject]) { 
    let mediaType = info[UIImagePickerControllerMediaType] as! NSString 
    if mediaType == kUTTypeMovie { 
     let videoURL = info[UIImagePickerControllerMediaURL] as! NSURL 
     let avAsset = AVAsset(url: videoURL as URL) //>selected video 
    } else{ 
     print("error @ mediaType-didFinishPickingMediaWithInfo") 
    } 
    dismiss(animated: true, completion: nil) 
} 

은 도움이 :) 희망

4
func imagePickerController(picker: UIImagePickerController, didFinishPickingMediaWithInfo info: [String : AnyObject]) { 
      let videoURL = info["UIImagePickerControllerMediaURL"] as? NSURL 
      do { 
       let video = try NSData(contentsOfURL: videoPath, options: .DataReadingMappedIfSafe) 
      } catch { 
       print(error) 
       return 
      } 
      imagePickerController.dismissViewControllerAnimated(true, completion: nil) 
    } 
관련 문제