如何解决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 举报,一经查实,本站将立刻删除。