6

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); 
    }); 
}]; 
+1

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) –

+1

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. –

+1

@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. –

Trả lời

2

Chỉ cần nghe từ Apple DTS. Họ cũng đồng ý điểm này với lỗi Apple iOS và yêu cầu tôi đăng nhập.

Tôi đã cắt giảm việc sử dụng AVAssetExportSession như đã đề cập ở trên và giải quyết được sự cố của tôi như một công việc xung quanh. Vì vậy, vấn đề có vẻ là xung quanh phương pháp đó có lẽ là chứa trong phương pháp Instagram bạn đang sử dụng.

Vì vậy, cho đến khi Apple sửa lỗi này hoặc Instagram xây dựng một công việc xung quanh, dường như không có giải pháp cho vấn đề này ... Bummer

+1

Tôi hiểu. Cảm ơn vì đã cho tôi biết những gì DTS đã nói với bạn, hy vọng rằng điều này sẽ sớm được giải quyết. –

+0

Mọi thông tin cập nhật về phía Apple? – Sam

Các vấn đề liên quan