如何在自定义键盘上播放键盘声音?

我用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