如何在自定义键盘中播放键盘点击声?

Fir*_*ist 16 cocoa-touch objective-c ios custom-keyboard

我用自己创建了自定义键盘UIView.但是我没有听到键盘的咔嗒声.所以我尝试了以下代码.但是我听不到任何声音.如何播放键盘咔嗒声?

NSURL* musicFile = [NSURL fileURLWithPath:[[NSBundle mainBundle] 
                                               pathForResource:@"Tock"
                                               ofType:@"aiff"]];
    AVAudioPlayer *click = [[AVAudioPlayer alloc] initWithContentsOfURL:musicFile error:nil];
    [click setVolume:0.15f];
    [click play];
Run Code Online (Sandbox Code Playgroud)

我也尝试了下一个.

AudioServicesPlaySystemSound(0x450);
Run Code Online (Sandbox Code Playgroud)

我怎么能够?

Anh*_* Do 35

试试这个:

[[UIDevice currentDevice] playInputClick];
Run Code Online (Sandbox Code Playgroud)

注意

使用此方法播放标准系统键盘单击以响应用户在自定义输入或键盘附件视图中点击.仅当用户在"设置">"声音"中启用了键盘单击时,并且仅当输入视图本身已启用且可见时,才会播放单击.

要为输入点击启用自定义输入或附件视图,请执行以下两个步骤:

在输入视图类中采用UIInputViewAudioFeedback协议.实现enableInputClicksWhenVisible委托方法以返回YES.

  • 我按照说明操作,但是键盘上没有咔嗒声.在系统键盘上单击声音工作. (6认同)

Lit*_*use 6

在 Swift 中,向输入视图添加扩展,如下所示;

extension UIInputView : UIInputViewAudioFeedback {

    public var enableInputClicksWhenVisible: Bool {
        return true
    }

}
Run Code Online (Sandbox Code Playgroud)

在按钮的操作方法中调用以下函数:

    UIDevice.current.playInputClick()
Run Code Online (Sandbox Code Playgroud)

将以下属性添加到您的 info.plist 中:

NS 扩展 | NSExtension属性 | 请求开放访问 = YES


Sim*_*rth 5

无法执行任何操作,但这对我有用:

#import <AudioToolbox/AudioToolbox.h>

AudioServicesPlaySystemSound(1104);
Run Code Online (Sandbox Code Playgroud)

但是我仍然必须继承a UIButton并将其添加UIInputViewAudioFeedback协议。