为啥视频没有播放,只在 swift 中显示加载程序
Posted
技术标签:
【中文标题】为啥视频没有播放,只在 swift 中显示加载程序【英文标题】:why video is not getting played only showing loader in swift为什么视频没有播放,只在 swift 中显示加载程序 【发布时间】:2020-10-19 15:40:34 【问题描述】:我正在尝试从 web url 播放视频,它仅显示缓冲加载器但没有播放我使用了以下代码。
override func viewDidAppear(_ animated: Bool)
super.viewDidAppear(animated)
let url = URL(string: "https://sandbox-api.digiboxx.com/uploads/E2D6024483AB4B04/1602945683_sample_640x360.mp4")!
playVideo(url: url)
func playVideo(url: URL)
let player = AVPlayer(url: url)
let vc = AVPlayerViewController()
vc.player = player
self.present(vc, animated: true) vc.player?.play()
【问题讨论】:
1) theme.co/forum/t/… 2) ***.com/a/36299252/2522457 检查此链接。希望它会工作 嗨!我认为问题来自您的 URL 源。 Safari 也无法播放视频。您应该尝试使用其他 URL:“techslides.com/demos/sample-videos/small.mp4”。 ***.com/a/21121914/1974224 - 您的视频是 H.264 视频,也许这会有所帮助 【参考方案1】:我只是在计算机上的浏览器 (Safari) 中尝试了您的 URL,但没有播放任何内容。所以我认为另一端的 URL 或文件有问题。
【讨论】:
奇怪,它适合我 好的,但是 AVPlayer 不是 Chrome 浏览器;它使用与 Safari 相同的机制。所以我坚持我的回答。这个文件有问题。完毕。你问为什么它不播放,我在说为什么我认为是这样。【参考方案2】:我测试了您的链接并且视频正在加载,所以我不知道您的代码为什么不起作用...
这就是我在 Swift 中使用 VideoPlayer 的方式:
import UIKit
import AVKit
class MediaManager: UIViewController
var player = AVPlayer()
override func viewDidLoad()
super.viewDidLoad()
play(url: "yourUrl")
func play (url: String)
player = AVPlayer(url: URL(string: url)!)
let playerViewController = AVPlayerViewController()
playerViewController.player = player
self.view.present(playerViewController, animated: false) self.player.play()
试试我的代码,告诉我它是否适合你
【讨论】:
以上是关于为啥视频没有播放,只在 swift 中显示加载程序的主要内容,如果未能解决你的问题,请参考以下文章
应用程序在 swift 中为所有视频 PHAsset 播放相同的视频