iOS 14 AVPlayer在模拟器上播放,但不在真实设备上播放

问题描述

我的应用程序中有一个初始屏幕作为简短的mov视频,为此我使用了AVPlayer(以下代码)。它停止与IOS 14物理设备一起使用,而在模拟器上运行正常。您能帮上忙吗?

import UIKit
import AVKit
import AVFoundation

class PlayerVC: UIViewController,AVAudioPlayerDelegate {
  
  lazy var player: AVPlayer  = {
    let fileName = "test"
    let path = Bundle.main.path(forResource: fileName,ofType: "mov")!
    let videoURL = URL(fileURLWithPath: path)
    let player = AVPlayer(url: videoURL)
    return player
  }()
  
  override func viewDidLoad() {
    super.viewDidLoad()
    self.view.addGestureRecognizer(UITapGestureRecognizer(target: self,action: #selector(viewTapped)))
  }
  
  override func viewDidAppear(_ animated: Bool) {
    super.viewDidAppear(animated)
    let playerLayer = AVPlayerLayer(player: player)
    playerLayer.shouldRasterize = true
    playerLayer.frame = self.view.bounds
    
    self.view.layer.addSublayer(playerLayer)
    player.play()
    NotificationCenter.default.addobserver(self,selector: #selector(self.playerDidFinishPlaying(sender:)),name: NSNotification.Name.AVPlayerItemDidplayToEndTime,object: player.currentItem)
  }
  
  @objc func playerDidFinishPlaying(sender: NSNotification) {
    loadRootVC()
  }

  private func loadRootVC() {
    dismiss(animated: false,completion: nil)
    self.onVideoFinished();
  }
  
  @objc func viewTapped() {
    loadRootVC()
  }
  
  deinit {
    NotificationCenter.default.removeObserver(self)
  }
}

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)