如何以编程方式播放默认电话铃声?

Posted

技术标签:

【中文标题】如何以编程方式播放默认电话铃声?【英文标题】:How do I play the default Phone ringtone programmatically? 【发布时间】:2012-09-25 07:04:39 【问题描述】:

我一直在开发与会议相关的应用程序。我想显示来电的响铃通知。我尝试过使用 AVAudioPlayer,它对自定义声音效果很好。我的问题是,是否可以从 iPhone 获取默认铃声(用户在设置中选择铃声)并为我的应用播放?

感谢您的宝贵建议...

【问题讨论】:

您可以将自定义声音播放为 Answer ***.com/a/18958454/2459296 【参考方案1】:

有人问过类似的问题here,但总体而言,这似乎是不可能的,至少如果您想通过 App Store 分发您的应用程序。在越狱手机上,您可能会发现this answer 很有用。

【讨论】:

【参考方案2】:

不,没有用于获取 iPhone 铃声的 SDK API。

但是您可以从其他链接下载这些并添加到您的项目中

【讨论】:

所以如果用户在设置中改变声音每次我都需要下载? 您可以添加所有标准铃声并选择真正的铃声 ios 8 中仍然如此吗? @adib 尝试使用g8production.com/post/83956349090/…【参考方案3】:

推荐的方法是使用 CallKit。然后,您的 VoIP 应用程序将“免费”获得很多东西。当您使用 CallKit 注入来电时,iOS 会自动播放正确的铃声。

https://developer.apple.com/documentation/callkit

CallKit 可以为您处理很多事情。比如:

在手机锁定时显示正确的来电屏幕 如果用户已经在另一个通话中会发生什么 “请勿打扰”已开启(开车或睡觉) 手机设为静音 播放正确的铃声

【讨论】:

以上是关于如何以编程方式播放默认电话铃声?的主要内容,如果未能解决你的问题,请参考以下文章

设备在播放啥吗?

如何在使用 Callkit 时播放声音,例如铃声?

如何在通话期间以编程方式在 iPhone 的两个扬声器上播放声音

音频焦点问题

播放默认铃声

播放提示音(与默认消息铃声相同)