【发布时间】:2019-10-24 10:57:55
【问题描述】:
我正在尝试用 SwiftUI 的代码控制 Apple Watch 本身的音量。
我正在使用AVPlayer 流式传输音频。
是否有API可以设置手表的音量或使用Digital Crown来控制音量而无需
- 在
AVPlayer上设置volume属性。这只是设置相对于系统音量的音量。因此,如果系统静音,它不会增加音量。 - 使用
WKInterfaceVolumeControl。这可以完成工作,但无法调整大小会占用小屏幕上的大量空间。
【问题讨论】:
-
有什么好运的吗?
-
我最终将
WKInterfaceVolumeControl到WKInterfaceObjectRepresentable添加到视图层次结构并将其opacity设置为0。您必须确保音量控制保持焦点。为了确定,我添加了一个重复计时器来设置焦点。然后观察AVAudioSession.sharedInstance().observe(\.outputVolume)并在代码中更新一个更小的视图。这行得通......在我的旧手表上,音量变化和应用程序获取音量更新之间存在相当大的差距。但我认为这是在没有大控制的情况下控制音量的唯一方法。 -
hi @leoMehlig 您能否分享更多详细信息和示例以及少量代码。
标签: swiftui avplayer watchos watchos-6