2012-04-27 19 views
11

Sto tentando di utilizzare AVMutableComposition in una gerarchia nidificata. Perciò devo mettere una composizione in un'altra composizione. In questo modo si traduce nel seguente messaggio di errore:Nested AVMutableComposition

AVCompositionTest [45347: 10703] comp2 >>> L'operazione non ha potuto essere completato

ho usato il seguente codice stato tagliato.

AVAsset *audioAsset = [AVAsset assetWithURL:[NSURL fileURLWithPath:[[NSBundle mainBundle] pathForResource:@"02 Undefined" ofType:@"mp3"]]]; 

AVMutableComposition *comp1 = [AVMutableComposition composition]; 

BOOL success = YES; 
NSError *error = nil; 

success = [comp1 insertTimeRange:CMTimeRangeMake(kCMTimeZero, audioAsset.duration) 
         ofAsset:audioAsset 
          atTime:kCMTimeZero 
          error:&error]; 

if (!success) { 
    NSLog(@"comp1 >>> %@", [error localizedDescription]); 
} 

AVMutableComposition *comp2 = [AVMutableComposition composition]; 

success = [comp2 insertTimeRange:CMTimeRangeMake(kCMTimeZero, audioAsset.duration) 
         ofAsset:comp1 
          atTime:kCMTimeZero 
          error:&error]; 

if (!success) { 
    NSLog(@"comp2 >>> %@", [error localizedDescription]); 
} 

È possibile nidificare composizioni?

+0

Hai trovato una soluzione, amico? – Davyd

+0

Ho fatto un'implementazione completamente diversa per evitare questo problema. Citando uno sviluppatore di questo framework: "Non avevo pensato di annidare AVMutableComposition." –

+0

È bello saperlo, grazie per la risposta. – Davyd

risposta

3

Non è possibile nidificare le risorse AVMutableComposition.