问题描述
我的应用程序中有一个初始屏幕作为简短的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 (将#修改为@)