2015-03-04 10 views
0

Je suis des vidéos de suture dans un AVMutableCompositionTrack, en utilisant ceci:insertEmptyTimeRange à AVMutableCompositionTrack ne fonctionne pas

AVMutableVideoCompositionLayerInstruction *passThroughLayer = [AVMutableVideoCompositionLayerInstruction videoCompositionLayerInstructionWithAssetTrack:videoTrack]; 

Je suis aussi l'ajout d'un CALayer avec du texte et des images à la composition, à l'aide d'un animationLayer.

Au début, j'ajoute 5 secondes de rien pour insérer un titre en utilisant insertEmptyTimeRange.

Jusqu'à ici, tout fonctionne bien.

Maintenant, je veux ajouter «rien» à la fin de la vidéo, en utilisant à nouveau insertEmptyTimeRange - mais cela échoue lamentablement.

CMTime creditsDuration = CMTimeMakeWithSeconds(5, 600); 

    CMTimeRange creditsRange = CMTimeRangeMake([[compositionVideoTrack asset] duration], creditsDuration); 

    [compositionVideoTrack insertEmptyTimeRange:creditsRange]; 
    [compositionAudioTrack insertEmptyTimeRange:creditsRange]; 

    NSLog(@"credit-range %f from %f", CMTimeGetSeconds(creditsRange.duration), CMTimeGetSeconds(creditsRange.start)); 
    NSLog(@"Total duration %f", CMTimeGetSeconds([[compositionVideoTrack asset] duration])); 

Les inserts points sont corrects (premier NSLog), mais la durée totale ne sera pas prolongée ...

Toutes les idées que je pourrais faire mal?

Répondre