swift - Swift: Parse does not load a video from URL
问题描述
I am trying to stream a video from backend to my device.I have a video url from backend but screen displays nothing. However, youtube url it works. Can anyone guide me why this video is not playing and how can it be played? I am using pod 'YouTubePlayer'
to play the video.
let cell: VideoTableViewCell = tableView.dequeueReusableCell(withIdentifier: "VideoTableViewCell") as! VideoTableViewCell
var query = PFQuery(className:"Videos")
query.getObjectInBackground(withId: "83kli72i62") { (parseObject, error) -> Void in
let videoFile = parseObject!["Question"] as! PFFileObject
self.videoUrl = videoFile.url
let url = NSURL(string: self.videoUrl! )
cell.playerView.loadVideoURL(url as! URL)
}
解决方案
我有一个应用程序从 firebase 提取视频并使用 avplayer 播放它们,请查看下面的代码并了解它是如何工作的
class IsoLateralLowRowViewController: UIViewController {
@IBOutlet weak var playv: UIButton!
let avPlayerViewController = AVPlayerViewController()
var avPlayer:AVPlayer?
override func viewDidLoad() {
super.viewDidLoad()
self.view.addBackground()
let movieUrl:NSURL? = NSURL(string: "https://firebasestorage.googleapis.com/v0/b/messenger-test-d225b.appspot.com/o/test%2FTestVideo.mov?alt=media&token=bd4ccba3-b446-43bc-809e-b1152aa3c2ff")
if let url = movieUrl {
self.avPlayer = AVPlayer(url: url as URL)
self.avPlayerViewController.player = self.avPlayer
}
NotificationCenter.default.addObserver(self, selector: #selector(playerDidFinishPlaying), name: NSNotification.Name.AVPlayerItemDidPlayToEndTime, object: avPlayerViewController.player?.currentItem)
self.present(self.avPlayerViewController, animated: true) { () -> Void in
self.avPlayerViewController.player?.play() // Do any additional setup after loading the view.
}
}
@objc func playerDidFinishPlaying(note: NSNotification) {
self.avPlayerViewController.dismiss(animated: true)
}
override func didReceiveMemoryWarning() {
super.didReceiveMemoryWarning()
}
推荐阅读
- azure - Azure帐户免费试用订阅已禁用如何再次激活它
- asp.net-core - 我的剃须刀页面无法正常工作所有生成相同的错误:找不到本地主机页面
- algorithm - 在这个模拟退火算法中与 [0, 1] 中的随机值进行比较的目的是什么?
- javascript - 根据用户更改获取选定的选项值
- python-3.x - 无法打开大于内存的 HDF5 文件... ValueError
- apache - NGINX 反向代理到 Apache/Nextcloud
- postgresql - PostGIS ST_OffsetCurve 对于某些行失败
- mysql - MySQL建表时无法创建外键约束,但语法与其他外键相同
- cypress - 在 Cypress 中跨功能文件重用 Cucumber 步骤
- webpack - Webpack 错误 - 在循环依赖中访问模块导出的不存在属性“cat”