为啥只播放 UNNotificationSound 的前 5 秒

Posted

技术标签:

【中文标题】为啥只播放 UNNotificationSound 的前 5 秒【英文标题】:Why just first 5 seconds of UNNotificationSound plays为什么只播放 UNNotificationSound 的前 5 秒 【发布时间】:2016-11-19 05:12:51 【问题描述】:

更新到 ios 10.1.1 后,iOS 通知自定义声音会在 5 秒后停止。

只有在设备开启时才会发生这种情况,但如果设备关闭,它会播放整整 30 秒。

UNNotificationSound 文档说:

您可以将音频数据打包到 aiff、wav 或 caf 文件中。声音 文件的长度必须小于 30 秒。如果声音文件是 超过 30 秒,系统播放默认声音。

https://developer.apple.com/reference/usernotifications/unnotificationsound

所以如果我们能够设置 30 秒的声音文件,那么必须有一种方法可以让它们播放 30 秒而不仅仅是 5 秒?

【问题讨论】:

我认为它的工作方式与用户的角度不同。如果用户在手机里做某事,则播放 5 秒;如果在手机锁定或屏幕关闭时触发通知,则会播放 30 秒。 这个评论应该是公认的答案......即使Apple没有提及它,因为iOS 10我们只能在锁定屏幕中获得完整的30秒播放,否则只有5秒。 【参考方案1】:

默认情况下,当设备解锁时,通知的持续时间不超过 5 秒。您不能以编程方式更改此行为。但是用户可以更改应用程序的通知设置,因此横幅不会在 5 秒后隐藏。她需要将 Banner Style 设置为 Persistent

【讨论】:

以上是关于为啥只播放 UNNotificationSound 的前 5 秒的主要内容,如果未能解决你的问题,请参考以下文章

UNNotificationSound.default() 是啥声音?

为啥我的视频在 ARJS 中只播放声音而没有视频?

如何让 UNNotificationSound 使用项目中蓝色文件夹中的 .caf 文件

来自 UNNotificationSound 的声音名称

为啥 PyGame 不播放声音

为啥我的 UILocalNotification 没有播放任何声音?