iOS SDK :: 振动并播放哔声。
Posted
技术标签:
【中文标题】iOS SDK :: 振动并播放哔声。【英文标题】:iOS SDK :: vibration & plays a beep sound. 【发布时间】:2014-07-08 10:22:44 【问题描述】:我需要振动 ios 设备,不支持振动的设备,会播放哔声。
为此我正在使用
Import AudioToolbox.framework
#import <AudioToolbox/AudioToolbox.h>
AudioServicesPlayAlertSound(kSystemSoundID_Vibrate);
它在 iPhone 设备上振动,但在 iPad 和 iPod 上没有声音。虽然参考说它会播放声音。我做错了什么?
Making the iPhone vibrate
http://blog.mugunthkumar.com/coding/iphone-tutorial-better-way-to-check-capabilities-of-ios-devices/
【问题讨论】:
documentation 似乎表明 iPod Touch 至少应该什么都不做:“常量 kSystemSoundID_Vibrate 在 iPhone 上,将此常量与 AudioServicesPlayAlertSound 函数一起使用来调用短暂的振动。在 iPod 上触摸,什么都不做。” 感谢@borrrden,当我使用 AudioServicesPlayAlertSound 时,您正在查看 AudioServicesPlaySystemSound,文档说“根据特定的 iOS 设备,此函数会播放短声音并可能会调用振动。调用此函数会执行以下操作在各种 iOS 设备上:" 我意识到了这一点,并用与文档不同的部分更新了我的评论 谢谢,但它说 1)AudioServicesPlayAlertSound(kSystemSoundID_Vibrate); 2)AudioServicesPlaySystemSound(kSystemSoundID_Vibrate);这两个功能都会震动 iPhone。但是当您在不支持振动的设备上使用第一个功能时,它会发出哔哔声。另一方面,第二个功能在不受支持的设备上没有任何作用。我需要振动设备,如果没有硬件支持,则播放哔声。 很抱歉,但是……您检查过设备没有静音吗?我自己偶然发现了这一点,想知道为什么设备没有振动,直到我注意到静音开关打开了:) 【参考方案1】:尝试设置 AudioSession:
#import <AudioToolbox/AudioToolbox.h>
AVAudioSession *audioSession = [AVAudioSession sharedInstance];
NSError *err = nil;
[audioSession setCategory: AVAudioSessionCategoryPlayback error:&err];
AudioServicesPlayAlertSound(kSystemSoundID_Vibrate);
//or: AudioServicesPlaySystemSound(kSystemSoundID_Vibrate);
【讨论】:
此代码用于特定应用的振动开/关? 抱歉,@iPhoneDev 没有收到您的问题。 我想在开关上设置开/关振动。那么,我在 Switch = on/off 上设置了哪个代码?以上是关于iOS SDK :: 振动并播放哔声。的主要内容,如果未能解决你的问题,请参考以下文章