В документации 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
, но результаты те же. Причина, по которой я хочу отключить вибрацию, заключается в том, что я создаю приложение, в котором пользователь должен поместить свой телефон далеко, а телефон не должен свертываться из-за вибрации.