我试图覆盖在tvOS上进行焦点更改时播放的声音,但我似乎无法找到任何指示是否可行的声音。我已经仔细查看了Apple文档,并查看了一些声音API,但似乎都没有。有人知道这是否可能吗?如果可能的话,如何实现?
答案 0 :(得分:0)
这可以通过添加到tvOS 11中的SDK
中的soundIdentifierForFocusUpdate来实现使用此方法,您可以自定义或删除焦点更新时播放的tvOS默认声音。
要删除声音,您可以返回UIFocusSoundIdentifier.none
override func soundIdentifierForFocusUpdate(in context: UIFocusUpdateContext) -> UIFocusSoundIdentifier? {
return UIFocusSoundIdentifier.none
}
要使用不同的声音,您必须在目标中加入新的声音文件,然后加载如下所示:
let myPing = UIFocusSoundIdentifier.init(rawValue: "customPing")
let soundURL = Bundle.main.url(forResource: "ping", withExtension: "aif")!
UIFocusSystem.register(_: soundURL, forSoundIdentifier: myPing)
然后你必须从 soundIdentifierForFocusUpdate 返回新声音:
override func soundIdentifierForFocusUpdate(in context: UIFocusUpdateContext) -> UIFocusSoundIdentifier? {
return myPing
}
Apple在以下链接中记录了所有内容: Using Custom Sounds for Focus Movement