如何在自定义键盘上播放键盘声音?
我用UIView
创build了自定义键盘。 但是,我没有听到键盘的点击声音。 所以我尝试了下面的代码,但我什么也听不见。 我怎样才能播放键盘点击声音?
NSURL* musicFile = [NSURL fileURLWithPath:[[NSBundle mainBundle] pathForResource:@"Tock" ofType:@"aiff"]]; AVAudioPlayer *click = [[AVAudioPlayer alloc] initWithContentsOfURL:musicFile error:nil]; [click setVolume:0.15f]; [click play];
而且我也尝试了下一个。
AudioServicesPlaySystemSound(0x450);
我怎么能够?
尝试这个:
[[UIDevice currentDevice] playInputClick];
注意
使用此方法播放标准系统键盘单击以响应用户在自定义input或键盘附件视图中轻击。 只有当用户在“设置”>“声音”中启用了键盘单击,并且只有当input视图本身启用并可见时,才会播放点击。
要为input点击启用自定义input或附件视图,请执行以下两个步骤:
在input视图类中采用UIInputViewAudioFeedback协议。 实现enableInputClicksWhenVisible委托方法返回YES。
不能得到任何这个工作,但这对我工作:
#import <AudioToolbox/AudioToolbox.h> AudioServicesPlaySystemSound(1104);
但是,我仍然不得不UIInputViewAudioFeedback
一个UIButton
并将UIInputViewAudioFeedback
协议添加到它。
在Swift中添加一个扩展到input视图如下;
extension UIInputView : UIInputViewAudioFeedback { public var enableInputClicksWhenVisible: Bool { return true } }
在您的button的操作方法中,调用以下函数:
UIDevice.current.playInputClick()
将以下属性添加到您的info.plist中:
NSExtension | NSExtensionAttributes | RequestsOpenAccess = YES