让iPhone振动

时间:2010-07-30 17:22:38

标签: iphone objective-c cocoa-touch

我一直在尝试使用此代码制作iPhone Vibrate:

AudioServicesPlaySystemSound(kSystemSoundID_Vibrate);

但是没有用,可能是因为我在调用它的同时播放声音吗?

4 个答案:

答案 0 :(得分:15)

如果这有助于任何人,我发现当AVAudioRecorder正在录制时,vibrate命令将无效。绕过这个很简单。您只需要先停止录音机然后再继续录音:

[recorder stop];
AudioServicesPlaySystemSound (kSystemSoundID_Vibrate);
[recorder record];

如果您想使用UIBackgroundModes在背景中录制声音和振动,这甚至可以正常工作。

答案 1 :(得分:6)

这应该可以正常工作。设备上的振动是否已关闭?

答案 2 :(得分:3)

我在iPhone 4上成功使用该代码。documentation of System Sound并不清楚,但只有在“设置”中启用了振动时,该代码才有效。

当然请注意,振动有两种不同的设置:静音模式和普通模式。将振铃/静音开关切换到静音不足以启用振动。

我猜你已经尝试在设备设置中启用振动,但无论如何都值得强调这一点。

答案 3 :(得分:0)

在我测试过的所有iPhone上(原始,3GS和4),它应该振动。在第一代iPod touch上,它会通过内置扬声器发出哔哔声。在iPod touch第二代,它什么都不做。在iPad上,它也不会做任何事情。这些都是我测试过的所有设备。