Im сохранение видео в photolibrary.Its работает для предыдущих ИОСОВ, в ИО 7 videoAtPathIsCompatibleWithSavedPhotosAlbum этой линии ВСЕГДА ложнаяИОС 7 сохранения видео выпуска
вот мой код любой может помочь мне.
NSString *myPathDocs = [documentsDirectory stringByAppendingPathComponent:@"NewmergeVideo.mov"];
BOOL fileExists = [[NSFileManager defaultManager] fileExistsAtPath:myPathDocs];
if (fileExists) {
[[NSFileManager defaultManager] removeItemAtPath: myPathDocs error:NULL];
}
NSURL *url = [NSURL fileURLWithPath:myPathDocs];
NSLog(@"%@",url);
AVAssetExportSession *exporter = [[AVAssetExportSession alloc] initWithAsset:mixComposition presetName:AVAssetExportPresetHighestQuality];
exporter.outputURL=url;
//[exporter setVideoComposition:MainCompositionInst];
exporter.outputFileType = AVFileTypeQuickTimeMovie;
[exporter exportAsynchronouslyWithCompletionHandler:^
{
dispatch_async(dispatch_get_main_queue(), ^{
[self _exportDidFinish:exporter];
});
}];
здесь сохранить код
- (void)_exportDidFinish:(AVAssetExportSession*)session
{
NSURL *outputURL = session.outputURL;
ALAssetsLibrary *library = [[ALAssetsLibrary alloc] init];
NSLog(@"%@",outputURL);
if ([library videoAtPathIsCompatibleWithSavedPhotosAlbum:outputURL]) {
[library writeVideoAtPathToSavedPhotosAlbum:outputURL
completionBlock:^(NSURL *assetURL, NSError *error){
dispatch_async(dispatch_get_main_queue(), ^{
if (error) {
NSLog(@"writeVideoToAssestsLibrary failed: %@", error);
}else{
NSLog(@"Writing3");
}
});
}];
}
[library release];
}
в предыдущих КСН NSURL файл: //localhost/var/mobile/Applications/99B72CBA-A426-4F04-B7B2-2B61F0B0C513/Documents/NewmergeVideo.mov
в ИОС 7 NSURL файл: ///var/mobile/Applications/791244EE-771B-46C9-BD57-BA0BE6CACD3C/Documents/NewmergeVideo.mov
С той же проблемой. Все еще пытаюсь решить его –
Нашел ошибку. Это не путь к файлу error.check ваш окончательный параметр видео. В моем коде я accidantly положить timeScale = 600, я меняю его на 30 теперь его работы приятно. – mychar
Какой объект вы устанавливаете или вызываете метод для установки timeScale. Я использую это: CMTimeRangeMake (kCMTimeZero, videoAsset.duration); –