在AudioServicesPlayAlertSound的文档中,它说我可以在播放声音时禁用振动:
iPhone—播放指定的声音。如果用户已将设置应用程序配置为振铃振动,也会调用振动。但是,如果您的应用程序的音频会话配置了 AVAudioSessionCategoryPlayAndRecord或 AVAudioSessionCategoryRecord 音频会话类别,则设备不会振动。
但是,即使在将我的类别设置为“播放和录制”后,我的 iPhone 4S (iOS 5.1.1) 仍然感到震动。它同时响起和振动。
#import <AudioToolbox/AudioServices.h>
#import <AVFoundation/AVAudioSession.h>
NSError* error;
[[AVAudioSession sharedInstance]
setCategory:AVAudioSessionCategoryPlayAndRecord
error:&error];
if (error == nil) {
AudioServicesPlayAlertSound(1000);
}
我也试过AudioServicesPlaySystemSound
,但结果是一样的。我想禁用振动的原因是因为我正在制作一个应用程序,用户必须将她的手机放在很远的地方,并且手机不应该因振动而翻倒。