Я пишу приложение, которое должно будет обнаруживать сотрясения пользователей не только один раз, но и непрерывно. Идея состоит в том, что звук будет воспроизводиться один раз при одном встряхивании, и звук будет зацикливаться, если устройство непрерывно встряхивается.
Я проверил его как с 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");
}
}