gpt4 book ai didi

iphone - iOS系统如何不震动播放系统声音?

转载 作者:IT王子 更新时间:2023-10-29 08:16:12 26 4
gpt4 key购买 nike

AudioServicesPlayAlertSound 的文档中,它说我可以在播放声音时禁用振动:

iPhone—plays the specified sound. If the user has configured the Settings application for vibration on ring, also invokes vibration. However, the device does not vibrate if your app’s audio session is configured with the AVAudioSessionCategoryPlayAndRecord or AVAudioSessionCategoryRecord audio session category.

但是,即使将我的类别设置为“播放和录制”,我仍然感觉到我的 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,但结果是一样的。我想禁用振动的原因是因为我正在制作一个应用程序,用户必须将她的手机放在远处并且手机不应该因振动而翻倒。

最佳答案

我用我的 iPhone 4s 对此进行了测试,它完全符合您的要求。

   NSError* error;
[[AVAudioSession sharedInstance]
setCategory:AVAudioSessionCategoryPlayAndRecord
error:&error];
if (error == nil) {
SystemSoundID myAlertSound;
NSURL *url = [NSURL URLWithString:@"/System/Library/Audio/UISounds/new-mail.caf"];
AudioServicesCreateSystemSoundID((__bridge CFURLRef)(url), &myAlertSound);

AudioServicesPlaySystemSound(myAlertSound);

}

使用 AudioServicesCreateSystemSoundID 使用系统声音的文件名创建 SystemSoundID。然后使用 AudioServicesPlaySystemSound() 播放无振动的声音。其他系统声音的文件名可以在下面的链接中找到。

http://iphonedevwiki.net/index.php/AudioServices

关于iphone - iOS系统如何不震动播放系统声音?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15512709/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com