播放声音的 iOS 8 自定义键盘
Posted
技术标签:
【中文标题】播放声音的 iOS 8 自定义键盘【英文标题】:iOS 8 Custom Keyboard that play sounds 【发布时间】:2015-01-09 10:53:59 【问题描述】:我正在尝试为 ios 8 构建一个自定义键盘,该键盘在按下某个键时会发出自定义播放声音。我正在使用AVAudioPlayer
和小型 mp3 文件。
这在模拟器中运行良好,但在真实设备上我听不到任何声音。
RequestOpenAccess
已启用。
请注意,我不是在尝试播放默认的键盘点击声音,而是自定义声音。大多数现有问题似乎与默认系统声音有关。
编辑:我也尝试过使用 .caf 和 .aiff 文件并使用 SystemSoundID 加载和播放它们。
【问题讨论】:
当您尝试播放声音时,控制台中是否有任何错误或警告? 不,没什么。它只是沉默。就像声音加载一样,但无法播放,因为应用冻结的时间与音频的长度大致相同。 如果应用程序冻结,您可以使用 Xcode Instruments(如 Time profiler)查看应用程序冻结的方法。 我们在这里需要更多信息 - 你可能有一些代码吗? 这是我在 BitBucket 上的小型测试项目的链接。它只是尝试为所有按钮播放相同的声音。 bitbucket.org/tfsjohan/phonetickeyboard/src 【参考方案1】:这个 sn-p 在我的键盘项目中播放自定义声音。
NSString *soundPath = [[NSBundle mainBundle] pathForResource:@"your_custom_sound"
ofType:@"mp3"];
SystemSoundID soundID;
AudioServicesCreateSystemSoundID((__bridge CFURLRef)[NSURL fileURLWithPath: soundPath], &soundID);
AudioServicesPlaySystemSound (soundID);
引用自:
How to play tock sound when tapping custom keyboard buttons
【讨论】:
性能没有问题。顺便说一下,我的项目中的声音文件大小是 8KB。【参考方案2】:我很肯定这不是你的情况,但经常发生设备上的声音被关闭的情况。我犯了一个错误,搜索了一个小时为什么声音不起作用。如果只能这样,那将是一个快速的解决方案;)
【讨论】:
希望就这么简单。 :) 我什至确保我有内置键盘的默认点击声音,在这里就可以了。以上是关于播放声音的 iOS 8 自定义键盘的主要内容,如果未能解决你的问题,请参考以下文章