2012-01-16 11 views
0

私は1回ではなく連続的にユーザーの揺れを検出する必要があるアプリケーションを作成しています。アイデアは、一回の揺れで音が1回再生され、デバイスが連続的に揺れていると音がループするということです。iOS 5繰り返し/連続振れを検出する

私はShake APIとAccelerometer APIの両方でそれをテストしましたが、どちらも正確に何もしません。これまで私がこれまで持っていたものは次のとおりです。

- (void)playAudioFile 
{ 
    soundFile = [NSURL fileURLWithPath: [[NSBundle mainBundle] pathForResource:@"boing" ofType:@"wav"]]; 
    audioPlayer = [[AVAudioPlayer alloc] initWithContentsOfURL:soundFile error:nil]; 
    [audioPlayer setDelegate:self]; 
    [audioPlayer play]; 
} 

- (void)accelerometer:(UIAccelerometer *)accelerometer didAccelerate:(UIAcceleration *)acceleration 
{ 
    if (acceleration.x > 0.5 || acceleration.y > 0.5 || acceleration.z > 0.5) { 
     [self playAudioFile]; 
     NSLog(@"Trigger @ 0.5x"); 
    } 
} 
+1

この機能をシャッフルするりんごシェイクを試してみてください、あなたはそれが確実に再現していなくても見つけることができます。激しい振動が必要な場合もあれば、穏やかな振動で十分な場合もあります。あなたが異なる世代の複数のiphoneを持っている場合、その違いはより顕著です。 あなた自身の実装で同じ問題が発生すると思います。 –

+0

iOS 5では 'accelerometer:didAccelerate:'は非推奨です。 – Pascal

答えて

関連する問題