【发布时间】:2021-02-11 05:51:59
【问题描述】:
我正在尝试确定用户在观看视频时是否点击了取消静音按钮。我知道 player.isMuted 但我不确定如何检查值是否有变化。我正在使用 AVPlayerVideoViewController 并希望覆盖取消静音按钮功能。
【问题讨论】:
标签: swift avplayer avplayerviewcontroller
我正在尝试确定用户在观看视频时是否点击了取消静音按钮。我知道 player.isMuted 但我不确定如何检查值是否有变化。我正在使用 AVPlayerVideoViewController 并希望覆盖取消静音按钮功能。
【问题讨论】:
标签: swift avplayer avplayerviewcontroller
我创建了一个示例 ViewController,您可以轻松观察 isMuted 的变化:
import AVKit
class ViewController: AVPlayerViewController {
var muteObservation: NSKeyValueObservation?
override func viewDidLoad() {
super.viewDidLoad()
guard let videoPath = Bundle.main.path(forResource: "video", ofType: "mov") else {
return
}
let videoURL = URL(fileURLWithPath: videoPath)
player = AVPlayer(url: videoURL)
player?.play()
muteObservation = player?.observe(\.isMuted) { player, _ in
print("isMuted: \(player.isMuted)")
}
}
}
【讨论】: