繁体   English   中英

`当设备在 AVPlayer Swift IOS 中从背景转到前景时,视频将变黑`

[英]`Video will black when device goes from background to foreground in AVPlayer Swift IOS`

当应用程序从后台转到前台时,我试图在 AVPlayer 中播放视频,但它显示为空白。 我使用 Swift。 我找到了很多例子,但没有任何效果。

configurePlayer function 是我为此创建的,但我不知道有什么问题

func configurePlayer(_ url: URL?){
        guard let url = url else { return }
        let asset = AVURLAsset(url: url)

        let playerItem = AVPlayerItem(asset: asset)
        playerItem.preferredForwardBufferDuration = 1

        queuePlayer = AVQueuePlayer(playerItem: playerItem)
        queuePlayer?.replaceCurrentItem(with: playerItem)

        self.observer = playerItem.observe(.status, options: [.initial, .new], changeHandler: { item, _ in
            let status = item.status
            // Switch over the status
            switch status {
            case .readyToPlay:
                // Player item is ready to play.
                print("Status: readyToPlay")
            case .failed:
                // Player item failed. See error.
                self.pause()
              
                print("Status: failed Error: " + item.error!.localizedDescription )
            case .unknown:
                // Player item is not yet ready.bn m
                print("Status: unknown")
            @unknown default:
                fatalError("Status is not yet ready to present")
            }
        })


        if self.queuePlayer?.currentItem != nil {
            print("State: Add playerLooper")
            self.playerLooper = AVPlayerLooper(player: self.queuePlayer!, templateItem: self.queuePlayer!.currentItem!)
        }
        avPlayerLayer = AVPlayerLayer(player: queuePlayer)
        avPlayerLayer.videoGravity = .resizeAspect
        self.layer.addSublayer(self.avPlayerLayer)
        self.avPlayerLayer.player = self.queuePlayer
    }

Above is my code

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM