2016-07-07 7 views
0

저는 현재 신속한 애플리케이션을 개발 중이며 앱의 문서 폴더에 일부 비디오 레코드를 저장하고 있습니다. 나중에 이들을 검색하고 싶습니다.신속하게 도달 할 수없는 문서 파일 경로

: 내가 처음 프레임 섬네일을 만드는 등의 파일 위치를 사용하고 다음 코드 조각으로 내 이미지 뷰에 그것을 연결하려는 지금

file:///private/var/mobile/Containers/Data/Application/6C462C4E-05E2-436F-B2E6-F6D9AAAC9361/Documents/videorecords/196F9A75-28C4-4B65-A06B-6111AEF85F01.mov 

: 나는 이미이 같은 파일 위치의 배열을 가지고

func createVideoStills() { 
    for video in directoryContents { 
     print("\(video)") 
     do { 
      let asset = AVURLAsset(URL: NSURL(fileURLWithPath: "\(video)"), options: nil) 
      let imgGenerator = AVAssetImageGenerator(asset: asset) 
      imgGenerator.appliesPreferredTrackTransform = true 
      let cgImage = try imgGenerator.copyCGImageAtTime(CMTimeMake(0, 1), actualTime: nil) 
      let uiImage = UIImage(CGImage: cgImage) 
      videoCell.imageView = UIImageView(image: uiImage) 
      //let imageView = UIImageView(image: uiImage) 
     } catch let error as NSError { 
      print("Error generating thumbnail: \(error)") 
     } 
    } 
} 

첫 번째 인쇄물은 위에서 설명한 것과 같은 경로를 제공합니다. 그것은 바로이 원인 이상한

Error generating thumbnail: Error Domain=NSURLErrorDomain Code=-1100 "The requested URL was not found on this server." UserInfo={NSLocalizedDescription=The requested URL was not found on this server., NSUnderlyingError=0x14ee29170 {Error Domain=NSPOSIXErrorDomain Code=2 "No such file or directory"}}

: 그것은 다음과 같은 오류를 뱉어 때문에 그러나 AVURLAsset은이 경로를 좋아하지 않는다. 이 문제를 해결/해결하는 방법에 대한 해결책은 무엇입니까?

종류와 관련,

WOUTER

답변

1

print("\(video)")의 출력은 파일 경로하지만 파일 URL의 캐릭터 라인 표현이 아니다. init(string:)init(fileURLWithPath:)보다 NSURL 이상 사용해야합니다.

당신이 무엇을 얻을 참조 :

  let asset = AVURLAsset(URL: NSURL(string: video), options: nil) 

(오류없이 예기치 않은 결과를 생성 할 불필요한 문자열 보간 - 점점처럼 "옵션 (...)", 당신은 피해야한다 그래서.)

+0

Aah는 지금 나에게 의미가있다. 나는 그것을 불필요하게 변환하고 있었다. 이미 NSURL의 배열이 있습니다. 그래서 그것을 던질 필요가 없었습니다. 그래서 나 바보. URL에서 문자열 표현을 만들고 있음을 알고 있습니다. 내가해야 할 일은 다음과 같습니다 : 'let asset = AVURLAsset (URL : video, options : nil)' 올바른 방향으로 나를 가리켜 주셔서 감사합니다! – Wouter125

관련 문제