6

Bir AVMutableComposition dışa aktardıktan sonra, videoyu kamera rulosuna kaydetmek için PHPhotoLibrary kullanıyorum. creationRequestForAssetFromVideoAtFileURL: tamamlama işleyicisi, ben o zaman gibi Instagram kaydedilmiş videoyu açın: kezBeyaz video AVMutableComposition açıldığında Instagram'da

__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]; 
      } 
     } 
    } 
}]; 

Yaklaşık 50% Instagram açılır ve beklendiği gibi video oynar. Bununla birlikte, diğer videoların% 50'si, hem video hem de önizleme beyazdır ve aldığım tek şey ses. Bu genellikle başka bir video seçerek ve ardından videoma geri dönerek giderilir. Video kamera rulosunda mükemmel bir şekilde oynatılır, sadece sorunlara neden olan Instagram Instagram. Bu, Instagram'ın videolarımı yanlış yolla ihraç ettiğine veya gönderebileceğime mi ilişkin bir sorun mu? Sadece Apple DTS haber

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, aynı balina av konum düşünüyorum bu sorun için bir çözüm gibi görünmüyor. [My Question] (http://stackoverflow.com/questions/39560386/avplayer-playback-fails-while-avassetexportsession-is-active-as-of-ios-10) –

+1

Çözümünüz var mı? Oynatmaya başladığımda, AVAssetExportSession'ın aktif olması gerektiğini düşündüm ama bittikten sonra bile öyle görünüyor. Sorun başladıktan hemen sonra iptal ederseniz, sorun görülmez. –

+1

@AndresCanella Bunun için henüz bir çözüm bulamadım. Sadece Instagram'a ihracat yaparken sorunu gördüğümden, bunun bilinen bir hata olup olmadığını görmek için onlara ulaşabilirim. Ama evet, sanki sorularımız aynı kaynaktan geliyor gibi görünüyor. –

cevap

2

:

Bunlar

benim AVAssetExportSession ayarlardır. Ayrıca bu noktaları bir Apple iOS hatasını da kabul ettiler ve kayıt olmamı istediler.

Yukarıda belirtildiği gibi AVAssetExportSession kullanımını kesip çıkardım ve sorunumu bir iş olarak çözdüm. Yani sorun, muhtemelen kullandığınız Instagram yönteminde yer alan bu yöntem etrafında görünüyor. Apple bu düzeltir veya Instagram etrafında bir çalışmayı oluşturur Yani dek

... Aylak

+1

Anladım. DTS'nin size söylediklerini bildirdiğiniz için teşekkür ederim, bunun yakında çözüleceğini umuyoruz. –

+0

Elma tarafında herhangi bir güncelleme var mı? – Sam