iOS 5 обнаруживает повторяющиеся / непрерывные встряхивания - PullRequest
0 голосов
/ 17 января 2012

Я пишу приложение, которое должно будет обнаруживать сотрясения пользователей не только один раз, но и непрерывно. Идея состоит в том, что звук будет воспроизводиться один раз при одном встряхивании, и звук будет зацикливаться, если устройство непрерывно встряхивается.

Я проверил его как с 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 Ответ

0 голосов
/ 01 сентября 2012

Похоже, у Apple есть жест дрожания.Посмотрите, поможет ли это:

http://developer.apple.com/library/ios/#documentation/EventHandling/Conceptual/EventHandlingiPhoneOS/MotionEvents/MotionEvents.html

...