2012-09-09 6 views
0

다음 코드를 사용하여 주어진 경로의 비디오에서 이미지를 가져옵니다.NSDocumentDirectory에 저장된 비디오의 축소판 이미지로드

- (UIImage*) thumbnailImageForVideo:(NSURL *)videoURL atTime:(NSTimeInterval)time { 
    AVURLAsset *asset = [[AVURLAsset alloc] initWithURL:videoURL options:nil]; 
    NSParameterAssert(asset); 
    AVAssetImageGenerator *assetImageGenerator = [[AVAssetImageGenerator alloc] initWithAsset:asset]; 
    assetImageGenerator.appliesPreferredTrackTransform = YES; 
    assetImageGenerator.apertureMode = AVAssetImageGeneratorApertureModeEncodedPixels; 

    CGImageRef thumbnailImageRef = NULL; 
    CFTimeInterval thumbnailImageTime = time; 
    NSError *thumbnailImageGenerationError = nil; 
    thumbnailImageRef = [assetImageGenerator copyCGImageAtTime:CMTimeMake(thumbnailImageTime, 60) actualTime:NULL error:&thumbnailImageGenerationError]; 

    if (!thumbnailImageRef) 
     NSLog(@"thumbnailImageGenerationError %@", thumbnailImageGenerationError); 

    UIImage *thumbnailImage = thumbnailImageRef ? [[UIImage alloc] initWithCGImage:thumbnailImageRef] : nil; 
    previewImage = thumbnailImage; 

    return thumbnailImage; 
} 

그러나 NSDocumentDirectory에 저장된 비디오에는 작동하지 않습니다. NSURL을 사용하여 NSDocumentDIrectory에 액세스 할 수 있습니까? 대안이 없다면. 주요 아이디어는 문서 디렉토리에 저장된 이미지의 축소판을 표시 한 다음 나중에 이미지를 업로드 할 수 있도록하는 것입니다. 임시 디렉토리 일 수도 있습니다.

답변

0

NSURL * outputURL = [[NSURL 할당] initFileURLWithPath : 경로]를 사용할 때 작동합니다.