我正在尝试为此实现AudioServicesPlaySystemSound(SystemSoundID(****))
,我需要 Apples SystemSounds 的现有 ID 列表。通过搜索各种帖子,我在 GitHub 上找到了这个。为了我的目的,我在这个列表中找不到合适的声音。由于此存储库自 2013 年以来未更新,我不确定它是否是最新的。我想知道是否有更新的 SystemSounds 列表。
1 回答
首先,您找到的列表不是由 Apple 发布的。不知道作者是自己研究的还是自己收集的,但这种行为被认为是逆向工程,在开发者协议中是禁止的。
为了我的目的,我在这个列表中找不到合适的声音。
您可能需要找到一个声音资源而不是 SystemSoundID,然后注册它并使用AudioServicesCreateSystemSoundID
.
我想知道是否有更新的 SystemSounds 列表。
公共 SystemSoundID 的最新列表在这里:
警报声音标识符
常数
kSystemSoundID_Vibrate
在 iPhone 上,将此常量与 AudioServicesPlayAlertSound 函数一起使用来调用短暂的振动。在 iPod touch 上,什么都不做。
kSystemSoundID_UserPreferredAlert
在桌面上,将此常量与 AudioServicesPlayAlertSound 函数一起使用以播放在声音首选项窗格中指定的警报。
kSystemSoundID_FlashScreen
在桌面上,将此常量与 AudioServicesPlayAlertSound 函数一起使用以在屏幕上显示闪光。
kUserPreferredAlert
已弃用。改为使用
kSystemSoundID_UserPreferredAlert
。
(其中一些仅适用于 macOS。)
使用其他 SystemSoundID,可视为使用私有 API。
苹果开发者论坛中苹果开发者的一些评论:
在 API 中使用未记录的任意值是不合适的,因此我建议您在提交时不要这样做。
对于要被视为 API 的固定 SystemSoundID 值,它必须在标头中具有符号常量。传入其他固定值是不行的。