16

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

我也尝试了下一个。

AudioServicesPlaySystemSound(0x450);

我怎样才能?

4

4 回答 4

35

尝试这个:

[[UIDevice currentDevice] playInputClick];

注意

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

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

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

于 2012-04-24T13:39:11.353 回答
5

无法使任何这些工作,但这对我有用:

#import <AudioToolbox/AudioToolbox.h>

AudioServicesPlaySystemSound(1104);

但我仍然必须继承 aUIButton并将UIInputViewAudioFeedback协议添加到它。

于 2016-12-07T13:24:31.183 回答
5

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

extension UIInputView : UIInputViewAudioFeedback {

    public var enableInputClicksWhenVisible: Bool {
        return true
    }

}

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

    UIDevice.current.playInputClick()

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

NSExtension | NSExtensionAttributes | RequestsOpenAccess = YES

于 2017-07-22T18:35:31.153 回答
0

对于 swift,实际上有一种非常简单的方法来播放键盘音效。

第一的:

import AudioToolbox

然后在您需要声音效果时使用它。

AudioServicesPlaySystemSound(0x450)
于 2021-01-18T14:46:15.080 回答