신속한 앱으로 라이브러리에서 비디오를 가져 오려고합니다.iOS Swift - 라이브러리의 비디오를 사용할 수 없습니다.
print("ChatDetailsController - imgaction - Vid from Lib pressed")
self.selection = "videoLib";
self.imgSelection = "vidFromLib"
self.imagePicker.sourceType = .PhotoLibrary
self.imagePicker.delegate = self
self.imagePicker.mediaTypes = ["public.movie"]
self.presentViewController(self.imagePicker!, animated: true, completion: nil)
그런 다음 대의원 방법 : 나는 다음과 같은 코드를 사용하고 라이브러리를
func imagePickerController(picker: UIImagePickerController, didFinishPickingMediaWithInfo info: [String : AnyObject])
{
if(selection == "videoLib")
{
if let videoURL = info[UIImagePickerControllerReferenceURL] as? NSURL
{
print("imagePickerController - reached for video - from Lib - \(videoURL)")
let videoData = NSData(contentsOfURL: videoURL)
}
}
}
응용 프로그램을 실행, 그것은 보여줍니다 내가 비디오를 선택할 수 있습니다, 그것은 비디오를 압축 말한다 ..하지만 응용 프로그램이 충돌합니다.
경로가 자산 경로이고 비디오 경로가 아니기 때문에 실제 데이터를 가져올 수 없기 때문에 videoData
변수에 액세스하려고하면 충돌이 발생합니다.
이 fatal error: unexpectedly found nil while unwrapping an Optional value
인쇄 기능을 보여줍니다 :
로그이 비슷한을 보여줍니다
또한 imagePickerController - reached for video - from Lib - assets-library://asset/asset.MOV?id=7D3BFA00-A7CB-470C-8899-F82FCC2CBC54&ext=MOV
, 오른쪽 영상이 유사한 메시지를/선택 선택한 후 콘솔/로그에 표시됩니다 :
[Generic] video path /var/mobile/Media/PhotoData/CPLAssets/group419/A2901DD1-FDEF-423B-B4A3-E808B9AC45E1.MOV for PLPreviewImageAndDurationForVideoAtPath does not exist
물론 실행마다 파일 이름이 바뀝니다.
카메라에서 비디오 및 이미지를 가져올 수 있고 라이브러리에서 이미지를 가져올 수 있지만 라이브러리의 비디오 만 사용하는 데 문제가 있습니다. 다음과 비슷한 동영상 URL이 표시 될 것으로 예상됩니다.
/var/mobile/Containers/Data/Application/BEDDC883-B20E-496D-8C9A-A40EC0A29214/Documents/63ea24932c101b76c72fcbae3993fc9b.mov
예를 들어, 여기서 동영상 파일은 애플리케이션에 있으며 사용할 수없는 애셋 URL로 표시되지 않습니다. 도움이 될 것입니다.
이 항목에 대한 업데이트가 있습니까? –