Domanda

ho uno strano problema: voglio generare un nuovo file audio da due files audio e silenzio

.

sound1: 2 secondi lunghi + Silenzio: 2 secondi di silenzio + SOUND2: lungo 2 secondi

Quando provo il codice qui sotto, ho un 6 secondi lungo soundfile con tutte le parti, ma in un ordine diverso! L'ordine è: sound1, SOUND2, il silenzio

Io non sono in grado di mettere questo silenzio nel bel mezzo di questa composizione (anche non all'inizio). Si tratta di un comportamento tipico o faccio qualcosa di sbagliato?

Ecco il codice per mettere insieme i segmenti:

[compositionAudioTrack insertTimeRange:CMTimeRangeMake(kCMTimeZero, [audio1 duration])  ofTrack:clipAudioTrack1 atTime:kCMTimeZero error:nil];
[compositionAudioTrack insertEmptyTimeRange:CMTimeRangeMake(kCMTimeZero, CMTimeMake(2, 1))];
[compositionAudioTrack insertTimeRange:CMTimeRangeMake(kCMTimeZero, [audio2 duration])  ofTrack:clipAudioTrack2 atTime:CMTimeMake(4, 1) error:nil];

Forse qualcuno ha un'idea? Grazie in anticipo!

A proposito: seguente codice senza insertEmptyTimeRange linea non funziona neanche, esso genera solo 4 secondi di audio e Sound2 diapositive alla fine sound1:

    [compositionAudioTrack insertTimeRange:CMTimeRangeMake(kCMTimeZero, [audio1 duration])  ofTrack:clipAudioTrack1 atTime:kCMTimeZero error:nil];
[compositionAudioTrack insertTimeRange:CMTimeRangeMake(kCMTimeZero, [audio2 duration])  ofTrack:clipAudioTrack2 atTime:CMTimeMake(4, 1) error:nil];

Sembra che non è consentito che non c'è "nulla" tra i segmenti!?

È stato utile?

Soluzione

Ancora non so cosa questo significa "insertEmptyTimeRange". Ho fatto un giro di lavoro con un file -audio "silenzio" che non ha nulla in esso. Ho messo questo file audio vuoto tra i due file audio, e questo lo fa per me. Domanda chiusa;) (Ma se qualcuno potesse spiegare questo "insertEmptyTimeRange" questo sarebbe comunque interessante ...)

Altri suggerimenti

ho preso a lavorare come segue:

[compositionAudioTrack insertTimeRange:CMTimeRangeMake(kCMTimeZero, CMTimeMake(2,1))
                               ofTrack:audioTrack
                                atTime:kCMTimeZero
                                error:nil];
[compositionAudioTrack insertEmptyTimeRange:CMTimeRangeMake(CMTimeMake(2, 1), CMTimeMake(4, 1))];
[compositionAudioTrack insertTimeRange:CMTimeRangeMake(kCMTimeZero, CMTimeMake(2,1))  
                               ofTrack:audioTrack 
                                atTime:CMTimeMake(4, 1)
                                 error:nil];

I bisogni "Intervallo di tempo vuoto" essere (2,4) se i vostri suoni sono da (0,2) e (4,6).

Non sono sicuro se il suo ritardo,

insertEmptyTimeRange:. Se si inserisce un intervallo di tempo vuoto nella traccia, qualsiasi supporto che è stata presentata durante tale intervallo prima dell'inserimento saranno presentati invece immediatamente dopo

Quindi, tutto quello che dovete fare è aggiungere entrambe le clip e poi aggiungere l'intervallo emptytime al momento 2. Questo dovrebbe funzionare

insertTimeRange (0-2)
insertTimeRange (2-4)
insertEmptyTimeRange (2-4)

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top