AVURLAsset и AVAssetImageGenerator возвращают нулевые изображения - PullRequest
3 голосов
/ 30 октября 2011

Я пытаюсь получить миниатюру из файла .mov, снятого с камеры iphone.В настоящее время у меня есть фильм, сохраненный в части документов приложения.Когда я вызываю [Asset duration], он возвращает нулевой объект.Также, когда я пытаюсь вызвать метод copyCGImageAtTime: actualtime: error, он также возвращает нулевой объект.Я потратил меньше часов, пытаясь понять это.Я попытался переместить свой код в другую часть основного раздела моего приложения, чтобы просто посмотреть, смогу ли я заставить его работать.Я также попытался запустить его на симуляторе без удачи.Вот код:

NSString* destinationPath = [NSString stringWithFormat:@"%@/aaa/aaa.mov", [NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES) objectAtIndex:0]];
AVURLAsset *asset = [[AVURLAsset alloc] initWithURL:[NSURL URLWithString:destinationPath] options:nil];
AVAssetImageGenerator *gen = [[AVAssetImageGenerator alloc] initWithAsset:asset];
gen.appliesPreferredTrackTransform = YES;
CMTime time = CMTimeMakeWithSeconds(0.0, 600);
NSError *error2 = nil;
CMTime actualTime;

CGImageRef image = [gen copyCGImageAtTime:time actualTime:&actualTime error:&error2];
UIImage *thumb = [[UIImage alloc] initWithCGImage:image];
CGImageRelease(image);   

Я также подтвердил, что фильм существует в этой папке.Любая помощь будет принята с благодарностью.Спасибо:)

- Правка -

Забыл упомянуть, что Ошибка от copyCGImageAtTime - это ошибка AVUnknown.

- Правка2 - Обнаружена проблема.Я не включил file: // в начале URL.Это работает сейчас.

1 Ответ

9 голосов
/ 19 декабря 2011

Обнаружил проблему.Я не включил file:// в начале URL.Это работает сейчас.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...