// 定义一个回调函数,震动结束时再次发出震动
voidMyAudioServicesSystemSoundCompletionProc (SystemSoundID ssID,void*clientData)
{
BOOL* iShouldKeepBuzzing = clientData;
if (*iShouldKeepBuzzing) { AudioServicesPlaySystemSound(kSystemSoundID_Vibrate);
} else {
//Unregister, so we don't get called again...
AudioServicesRemoveSystemSoundCompletion(kSystemSoundID_Vibrate);
}
}
以下为调用的代码:
BOOLiShouldKeepBuzzing = YES;
AudioServicesAddSystemSoundCompletion(
kSystemSoundID_Vibrate,
NULL,
NULL,
MyAudioServicesSystemSoundCompletionProc,
&iShouldKeepBuzzing);
AudioServicesPlaySystemSound(kSystemSoundID_Vibrate);