Sau khi xuất AVMutableComposition
Tôi sử dụng PHPhotoLibrary
để lưu video vào thư viện ảnh. Trong xử lý hoàn creationRequestForAssetFromVideoAtFileURL:
, tôi sau đó mở video đã lưu trong Instagram, như vậy:Video trắng khi mở AVMutableComposition trong Instagram
__block PHObjectPlaceholder *videoAssetPlaceholder;
[[PHPhotoLibrary sharedPhotoLibrary] performChanges:^{
PHAssetChangeRequest *req = [PHAssetChangeRequest creationRequestForAssetFromVideoAtFileURL:localVideoURL];
videoAssetPlaceholder = req.placeholderForCreatedAsset;
} completionHandler:^(BOOL success, NSError *error) {
if (success) {
completion(YES);
NSString *localID = videoAssetPlaceholder.localIdentifier;
NSRange rangeOfSlash = [localID rangeOfString:@"/"];
if (rangeOfSlash.location != NSNotFound) {
NSString *assetID = [localID substringToIndex:rangeOfSlash.location];
NSURL *instagramURL = [NSURL URLWithString:[NSString stringWithFormat:@"instagram://library?AssetPath=%@", assetID]];
if ([[UIApplication sharedApplication] canOpenURL:instagramURL]) {
[[UIApplication sharedApplication] openURL:instagramURL];
}
}
}
}];
Khoảng 50% của thời đại Instagram sẽ mở ra và đóng video như mong đợi. 50% số lần khác, tuy nhiên, cả video và bản xem trước đều có màu trắng và tất cả những gì tôi nhận được là âm thanh. Điều này thường được khắc phục bằng cách chọn một video khác và sau đó quay lại video của tôi. Video phát hoàn hảo trong cuộn camera, chỉ có Instagram gây ra sự cố. Đây có phải là vấn đề mà Instagram có hoặc tôi có thể xuất video của mình theo cách sai không?
Đây là những AVAssetExportSession
xác lập cá nhân:
AVAssetExportSession *exporter = [[AVAssetExportSession alloc] initWithAsset:mixComposition
presetName:AVAssetExportPresetHighestQuality];
exporter.outputURL = url;
exporter.outputFileType = AVFileTypeMPEG4;
exporter.shouldOptimizeForNetworkUse = YES;
exporter.videoComposition = mainCompositionInst;
[exporter exportAsynchronouslyWithCompletionHandler:^{
dispatch_async(dispatch_get_main_queue(), ^{
handler(exporter.outputURL);
});
}];
Daniel, tôi nghĩ chúng tôi đang săn cá voi đó. [Câu hỏi của tôi] (http://stackoverflow.com/questions/39560386/avplayer-playback-fails-while-avassetexportsession-is-active-as-of-ios-10) –
Bạn có giải pháp không? Tôi nghĩ rằng AVAssetExportSession đã được kích hoạt trong khi tôi bắt đầu phát lại nhưng nó thậm chí dường như xảy ra sau khi nó đã kết thúc. Nghĩ rằng nếu bạn hủy bỏ nó ngay lập tức sau khi nó bắt đầu vấn đề dường như không xảy ra. –
@AndresCanella Tôi chưa tìm được giải pháp cho điều này. Vì tôi chỉ gặp vấn đề khi xuất sang Instagram, tôi có thể liên hệ với họ để xem đây có phải là lỗi đã biết hay không. Nhưng có, nó chắc chắn có vẻ như là mặc dù câu hỏi của chúng tôi có cùng nguồn gốc. –