【问题标题】:How do I detect when a user unmutes a video in swift when using AVPlayer如何在使用 AVPlayer 时检测用户何时快速取消视频静音
【发布时间】:2021-02-11 05:51:59
【问题描述】:

我正在尝试确定用户在观看视频时是否点击了取消静音按钮。我知道 player.isMuted 但我不确定如何检查值是否有变化。我正在使用 AVPlayerVideoViewController 并希望覆盖取消静音按钮功能。

【问题讨论】:

    标签: swift avplayer avplayerviewcontroller


    【解决方案1】:

    我创建了一个示例 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)")
            }
        }
    }
    

    【讨论】:

    • @Sash 这能回答你的问题吗?
    猜你喜欢
    • 1970-01-01
    • 2016-12-26
    • 2019-12-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多