Swift AVPlayer 不会播放 MP4:播放按钮通过它

Posted

技术标签:

【中文标题】Swift AVPlayer 不会播放 MP4:播放按钮通过它【英文标题】:Swift AVPlayer Won't Player MP4: Play Button With Line Through It 【发布时间】:2015-12-23 02:21:43 【问题描述】:

我正在尝试在 ios 应用上播放本地文件系统中的 mp4 视频。视频长约一个小时,可以在 quicktime 上播放。如果它来自网络(NSURL(字符串:“http:domain.com/vid.mp4”)),我可以播放 mp4。我正在播放如下视频:

    let steamingURL:NSURL = NSURL(string: video.filePath)! //valid path
    let player = AVPlayer(URL: steamingURL)
    player.allowsExternalPlayback = false

    PlayWorkoutViewController.playerController = AVPlayerViewController()
    PlayWorkoutViewController.playerController.player = player
    self.addChildViewController(PlayWorkoutViewController.playerController)
    self.view.addSubview(PlayWorkoutViewController.playerController.view)
    PlayWorkoutViewController.playerController.view.frame = videoContainerView.frame
    PlayWorkoutViewController.playerController.showsPlaybackControls = false
    player.play()

是否需要更改某些设置才能播放较长的视频?谢谢。

【问题讨论】:

尝试使用 NSURL.init(fileURLWithPath: ) 代替 【参考方案1】:

首先检查 steamingURL 是否为 nil

如果你想使用 NSURL(string: "xxx") 初始化器,请检查以 file:// 开头的字符串,否则使用 NSURL(fileURLWithPath: "xxxx") 代替。

【讨论】:

哦,好的,一旦我构建它,我会尝试的。谢谢,我敢打赌这就是问题所在。 我的问题实际上是相反的。我试图从网络加载视频并获得相同的结果,因为我使用的是 NSURL(fileURLWithPath: "http://...") 而不是 NSURL(string: "http://...")。 嗨@c.dunalp,即使我使用 URL(string: "http://...") 并且我的应用程序要求与您的相同,我也无法播放视频。请提供任何替代方案...谢谢

以上是关于Swift AVPlayer 不会播放 MP4:播放按钮通过它的主要内容,如果未能解决你的问题,请参考以下文章

如何检测 AVPlayer 视频何时结束播放?

如何使用 AVPlayer 播放 mp4 资源?

AVPlayer 不会在 iOS9 中播放来自 url 的视频

Swift 应用程序中的 AVPlayer 问题

AVPlayer 暂停后无法继续播放

swift中的 AVPlayerViewController 和 AVPlayer 不显示任何内容