2012-05-04 19 views
5

Örneklerin belirli bölümlerini c4 kullanarak döngülendirmek istiyorum. Ayrıca, mevcut döngüün bitmesini beklemeden döngüler arasında geçiş yapmak isterim. Örneğin, eğer son çubuk döngüsüne sahip olsam ve ilk yarıya geçtiğimde ve ilk çubuğa atlamak istersem, son çubuğun bitmesini beklemeden bunu yapardı.C4Sample'in döngü bölümlerini ayarlama/başlatma/ayarlama

Kurmak için "currentTime" ve "touchesBegan" kullanıyordum ama istediğim gibi çalışamıyorum. Bu konuda yığın taşması hakkında okuyordum ve NSTimer'e benziyormuşum gibi görünüyor? ya da bir çeşit geri arama ya da bir şey? Bunu nasıl yapabilirim?

İşte bu var:

@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 

cevap

1

C4Sample sınıfı şu anda döngü herhangi yeteneği yok. Bunu yapmak istiyorsanız, döngü mekanizmasını kendiniz inşa etmeniz gerekir. Bir NSTimer kullanmakla ilgili ilk sorumunuzun en üst kısmından çıkmak oldukça kolay olurdu.

Yapabilirsin:

  1. sonra zamanlayıcı

... oynamaya başlamak ve başlatmak için bir döngü süresi süresini
  • tetik döngü ayarlanmış bir döngü başlangıç ​​zamanını ayarlamak Zamanlayıcı, touchesBegan: yönteminde bunu nasıl yaptığınıza benzer şekilde audioSample.currentTime = loopStartTimer;'u ayarlayan bir yöntemi tetikler.