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 :: 振动并播放哔声。的主要内容,如果未能解决你的问题,请参考以下文章

使用 java 8 sdk 播放声音

单击按钮时播放哔声

为啥 Windows 在 KeyDown 上播放哔声,但在 DoubleClick 上不播放?

音频和振动在模拟器中工作而不是在 ios 设备上

在 C、MacOS 中播放哔声

在后台播放哔声