2014-10-19 37 views
0

這裏是我的代碼:無法保存到照片庫中的視頻

ALAssetsLibrary *library = [[ALAssetsLibrary alloc] init]; 
NSURL *videoURL =[info objectForKey:UIImagePickerControllerMediaURL]; 

if ([library videoAtPathIsCompatibleWithSavedPhotosAlbum:videoURL]) { 

    [library writeVideoAtPathToSavedPhotosAlbum:videoURL completionBlock:^(NSURL *assetURL, NSError *error) { 
     if (error) { 
      NSLog(@"error"); 
     } else { 
      NSLog(@"video assetUrl is %@", assetURL); 
     } 
    }]; 
} 
else NSLog(@"videoAtPath is not compatible with photos Album."); 

的videoURL爲file:///私人的/ var /移動/集裝箱/數據/應用/ B1F512EA-6D13-4DF1-86DB- F6166F0D533F/tmp/capture-T0x17511a30.tmp.pG4PbH/capturedvideo.MOV

將視頻保存到保存的相冊時出現錯誤。這是返回消息:

視頻/private/var/mobile/Containers/Data/Application/B1F512EA-6D13-4DF1-86DB-F6166F0D533F/tmp/capture-T0x17511a30.tmp.pG4PbH/capturedvideo.MOV不能被保存到保存的照片相冊:錯誤域= NSURLErrorDomain代碼= -1100「在此服務器上找不到請求的URL」。 UserInfo = 0x1b3e5e40 {NSErrorFailingURLStringKey = file:///private/var/mobile/Containers/Data/Application/B1F512EA-6D13-4DF1-86DB-F6166F0D533F/tmp/capture-T0x17511a30.tmp.pG4PbH/capturedvideo.MOV,NSErrorFailingURLKey = file :///private/var/mobile/Containers/Data/Application/B1F512EA-6D13-4DF1-86DB-F6166F0D533F/tmp/capture-T0x17511a30.tmp.pG4PbH/capturedvideo.MOV,NSLocalizedDescription =在此找不到請求的網址服務器,NSUnderlyingError = 0x1b2ce310「操作無法完成,沒有這樣的文件或目錄」,NSURL = file:/// private/var/mobile/Containers/Data/Application/B1F512EA-6D13-4DF1-86DB-F6166F0D533F /tmp/capture-T0x17511a30.tmp.pG4PbH/capturedvideo.MOV}

+0

錯誤來自哪裏?調用「'writeVideoAtPathToSavedPhotosAlbum'」? – 2014-10-19 06:21:35

+0

它來自檢查'videoAtPathIsCompatibleWithSavedPhotosAlbum'的布爾價值# – yonlau 2014-10-19 08:14:03

回答

1

該錯誤消息說,你的文件不存在,所以可能性是:

  1. 文件地址不正確,您可以通過查看應用程序的沙箱來查看它是否存在視頻文件。如果存在,請檢查視頻是否有效並可播放。無效的視頻將被拒絕保存到相冊。

  2. 或者您的捕獲模塊無法正常工作,因此您希望將某個文件寫入目錄中,但因爲捕獲失敗,所以沒有發生。

+0

嗨傑森,謝謝你的幫助。當我想將視頻保存到相冊中時,我發現視頻路徑已更改。這就是它導致這個問題的原因。 – yonlau 2014-10-23 01:18:56

+0

你能提出一些解決方案嗎?將視頻保存到相機膠捲時,出現「無效URL」錯誤 – 2016-04-02 12:38:40