AVPlayer工作不正常-Swift
//首先我的英语很差,对不起。。。 我正在实现我的应用程序。该播放器工作正常,但若我多次播放另一个视频,则该播放器不工作,只是看起来而已 这是我的密码AVPlayer工作不正常-Swift,swift,parse-platform,video-streaming,avplayer,avplayerviewcontroller,Swift,Parse Platform,Video Streaming,Avplayer,Avplayerviewcontroller,//首先我的英语很差,对不起。。。 我正在实现我的应用程序。该播放器工作正常,但若我多次播放另一个视频,则该播放器不工作,只是看起来而已 这是我的密码 let player:AVPlayer? override func viewDidLoad() { super.viewDidLoad() let videoFile = object?.objectForKey("video") as? PFFile videoFile?.getFilePathInBackgro
let player:AVPlayer?
override func viewDidLoad() {
super.viewDidLoad()
let videoFile = object?.objectForKey("video") as? PFFile
videoFile?.getFilePathInBackgroundWithBlock({ (filePath, error) in
if error == nil {
let videoURL = NSURL(fileURLWithPath: filePath!)
self.player = AVPlayer(URL: videoURL)
let playerController = AVPlayerViewController()
playerController.player = self.player
playerController.showsPlaybackControls = false
playerController.videoGravity = AVLayerVideoGravityResizeAspectFill
playerController.view.frame = self.videoView.bounds
self.videoView.addSubview(playerController.view)
self.addChildViewController(playerController)
self.player!.play()
} else {
print(error)
}
})
}
我不理解获取视频对象的方式,但可以尝试以下代码。它很好用
var player:AVPlayer! // this shouldn't be let.
override func viewDidLoad() {
super.viewDidLoad()
let query = PFQuery(className:"TestClass") //your classname in parse. Change it with your clas name
query.getObjectInBackgroundWithId("SALe4gX2nk") { // get the video file with id. Change it with your id.
(object: PFObject?, error: NSError?) -> Void in
let videoFile = object?.objectForKey("video") as? PFFile
let url = NSURL(string: (videoFile?.url)!)
self.player = AVPlayer(URL: url!)
let playerController = AVPlayerViewController()
playerController.player = self.player
playerController.showsPlaybackControls = false
playerController.videoGravity = AVLayerVideoGravityResizeAspectFill
playerController.view.frame = self.view.bounds
self.view.addSubview(playerController.view)
self.addChildViewController(playerController)
self.player!.play()
}
}
我不理解获取视频对象的方式,但可以尝试以下代码。它很好用
var player:AVPlayer! // this shouldn't be let.
override func viewDidLoad() {
super.viewDidLoad()
let query = PFQuery(className:"TestClass") //your classname in parse. Change it with your clas name
query.getObjectInBackgroundWithId("SALe4gX2nk") { // get the video file with id. Change it with your id.
(object: PFObject?, error: NSError?) -> Void in
let videoFile = object?.objectForKey("video") as? PFFile
let url = NSURL(string: (videoFile?.url)!)
self.player = AVPlayer(URL: url!)
let playerController = AVPlayerViewController()
playerController.player = self.player
playerController.showsPlaybackControls = false
playerController.videoGravity = AVLayerVideoGravityResizeAspectFill
playerController.view.frame = self.view.bounds
self.view.addSubview(playerController.view)
self.addChildViewController(playerController)
self.player!.play()
}
}
我正在获取PFQueryTableViewController。此控制器详细视图显示控制器。问题不是抓取。AVPlayer已经可以正常工作并播放视频。我的问题是我多次播放视频,一段时间后AVPlayer无法正常工作。请检查我是否正在获取PFQueryTableViewController。此控制器详细视图显示控制器。问题不是抓取。AVPlayer已经可以正常工作并播放视频。我的问题是我多次播放视频,但一段时间后AVPlayer无法正常工作。请检查