【问题标题】:Play standard iOS keyboard click sound in Custom Keyboard Extension在自定义键盘扩展中播放标准 iOS 键盘点击声音
【发布时间】:2014-07-10 04:42:04
【问题描述】:

我想知道 iOS 8 中是否有新的 API 可以让您在键盘扩展中播放标准的键盘点击声音 - 并且只有在启用键盘点击且设备未处于静音状态时才播放它。我没有见过这样的API,也没有看到任何关于这个的问题。

我确实知道在以前的 iOS 版本中,如果您实现了自定义输入或键盘附件视图(通过 [[UIDevice currentDevice] playInputClick]; 在您采用 UIInputViewAudioFeedback 协议并在 enableInputClicksWhenVisible 中返回 YES),这是可能的。这只有在那些情况下才有可能。键盘扩展不是这些。

是否可以使用自定义 iOS 键盘播放输入点击?

请注意,this question 是相关的,但他们想要自定义声音,并且该解决方案不会尊重用户对播放键盘点击的偏好 - 即使该选项已被禁用,也会始终播放它们。

【问题讨论】:

  • @Joey 你找到解决方案了吗?我也很想知道这个。
  • @Sabo 我没有。我向 Apple 发送了增强请求。目前似乎无法做到这一点(测试版 4)。
  • @Joey 这个问题有什么进展吗?不能让它工作。
  • 请注意,我的问题是如何在设置中支持用户偏好的同时实现它。我所看到的一切都不会尊重该设置,并且会一直播放。

标签: ios audio keyboard ios8 ios-app-extension


【解决方案1】:

随便用

dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0),     
^{
AudioServicesPlaySystemSound(1104);
});    

问题是,启用完全访问时,会播放声音,如果没有,因为它的调用是在后台线程中,不会阻塞主线程

【讨论】:

  • 只是好奇如何获取各种声音 ID?
  • 保存好了,我在商店里贴了一个键盘
  • 这确实会播放声音,但即使用户在设置中禁用了键盘点击,它也会一直播放。他们肯定不明白这一点。
  • 注意 Apple 对这种方法的警告:“这不是受支持的 API。第三方不应调用第一方系统声音。”
  • 浪费了太多时间不为 SO 做贡献。鉴于答案有 Joey 概述的问题,我想唯一的方法是通过键盘容器应用程序的开关来使用它。我找不到更好的答案。
猜你喜欢
  • 1970-01-01
  • 2015-07-09
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-02-08
相关资源
最近更新 更多