2012-05-04 6 views
5

Vorrei poter eseguire il loop di alcune sezioni di un campione utilizzando c4. Mi piacerebbe anche saltare tra i loop senza aspettare che il loop corrente finisca. Quindi, ad esempio, se ho l'ultima barra di loop e sono a metà e voglio saltare alla prima barra, lo farei senza aspettare che l'ultima barra termini.Impostazione/avvio/regolazione dei segmenti di loop di C4 Esempio:

Stavo usando "currentTime" e "touchesBegan" per provare a configurarlo ma non riesco a farlo funzionare come lo voglio. Stavo leggendo in giro per lo stack overflow e sembra che io debba essere NSTimer? o una sorta di richiamata o qualcosa del genere? Come posso fare questo?

Ecco quello che ho:

@implementation C4WorkSpace { 
     C4Sample *audioSample; 
    } 

    -(void)setup { 
     audioSample = [C4Sample sampleNamed:@"C4Loop.aif"]; 
     [audioSample play]; 
    } 

    -(void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event { 
     audioSample.currentTime = 1.0f; 
     //NSTimer? wait some time and then ? 
     //callback? I don't know how to do that, but is that what I would do here? 
    } 
@end 

risposta

1

classe L'C4Sample non ha alcuna capacità di ciclo in questo momento. Se vuoi farlo devi costruire tu stesso il meccanismo di loop. Al di sopra della mia prima domanda sull'utilizzo di un NSTimer sarebbe piuttosto semplice.

Si potrebbe:

  1. impostare un tempo di inizio ciclo
  2. impostare un tempo di durata del ciclo
  3. innesco del ciclo per iniziare a giocare e avviare il timer

... poi il il timer attiva un metodo che imposta audioSample.currentTime = loopStartTimer; in modo simile a come lo si fa nel metodo touchesBegan:.

Problemi correlati