0

我在那个应用程序中开发了一个应用程序,我正在研究接近传感器检测。当接近检测使手机振动时。它运行成功,但是当第二次打开该应用程序并检测到近距离电话不振动情况时,第一次和第二次都执行。我现在很困惑,请帮我这样做。

下面的代码我已经使用过。

if([[delegate.vibrationdefault stringForKey:@"Vibration"] isEqualToString:@"on"])
{
    NSLog(@"Proximity detect with vibration on") ;
    [recorder stop];
    //AudioServicesPlayalSound (kSystemSoundID_Vibrate) ;
    AudioServicesPlayAlertSound (kSystemSoundID_Vibrate) ;
    [recorder record];
}
4

1 回答 1

1

我不太确定这是否可以正常工作,但您可以这样做:

if([[delegate.vibrationdefault stringForKey:@"Vibration"] isEqualToString:@"on"])
{
    NSLog(@"Proximity detect with vibration on") ;
    [recorder stop];
    //AudioServicesPlayalSound (kSystemSoundID_Vibrate) ;
    AudioServicesPlayAlertSound (kSystemSoundID_Vibrate) ;
    sleep(1);
    AudioServicesPlayAlertSound (kSystemSoundID_Vibrate) ;
    sleep(1);
    AudioServicesPlayAlertSound (kSystemSoundID_Vibrate) ;
    [recorder record];
}

您可以使用sleep(timeInSeconds);under 来延迟它。我不确定你是否可以使用 0.5 秒,但你可以试试。

于 2013-10-28T10:19:35.997 回答