我正在开发一个应用程序,该应用程序会为用户持有其 iOS 设备的每个位置(站立、正面/背面或侧面)播放哔声。目前,当用户将设备放在一边时,我可以播放声音,但是,问题是因为我有与滑块链接的加速度计值,所以哔哔声是连续的(即它播放声音为只要用户将设备侧放),而不仅仅是一次。
我希望用户只需将设备稳定地放在一边,然后发出一声哔哔声,然后让用户将设备依次保持在其他位置,然后等待另一声哔哔声。我希望用户一步一步地走,一次一个地把设备放在每个位置,只有在听到哔哔声后才能移动到下一个位置。
这是我正在使用的代码:
- (void)accelerometer:(UIAccelerometer *)accelerometer didAccelerate:(UIAcceleration *)acceleration
{
NSLog(@"(%.02f, %.02f, %.02f)", acceleration.x, acceleration.y, acceleration.z);
slider.value = acceleration.x;
if (slider.value == -1)
[self pushBeep];
else if (slider.value == 0.00)
[self pushBap];
else if (slider.value == 1)
[self pushBop];
...
这是我的 pushBeep() 方法的代码(仅供参考,方法 pushBeep/pushBap/pushBop 都是相同的):
-(void) pushBeep {
NSString *soundPath =[[NSBundle mainBundle] pathForResource:@"beep-7" ofType:@"wav"];
NSURL *soundURL = [NSURL fileURLWithPath:soundPath];
NSError *ierror = nil;
iPlayer = [[AVAudioPlayer alloc] initWithContentsOfURL:soundURL error:&ierror];
[iPlayer play];
}
谁能弄清楚这里有什么问题?