xcode 8 || AVPlayer 正在显示视频,但没有播放
Posted
技术标签:
【中文标题】xcode 8 || AVPlayer 正在显示视频,但没有播放【英文标题】:xcode 8 || AVPlayer is showing video however it's not playing 【发布时间】:2017-10-24 19:36:32 【问题描述】:我有这个简单的代码来播放在线视频。在执行 HTTP 权限选项后,它确实开始显示视频,我可以滚动浏览它,但是它在任何时候都不会播放。这是代码。如果有人可以帮助我,我将不胜感激。
问候, 初学者编码器
import UIKit
import AVKit
import AVFoundation
class ViewController: UIViewController
var playerViewController = AVPlayerViewController()
var playerView = AVPlayer()
override func viewDidLoad()
super.viewDidLoad()
// Do any additional setup after loading the view, typically from a nib.
override func viewDidAppear(_ animated: Bool)
let movieUrl: NSURL? = NSURL(string: "http://clips.vorwaerts-gmbh.de/VfE_html5.mp4")
playerView = AVPlayer(url: movieUrl as! URL)
playerViewController.player = playerView
self.present(playerViewController, animated: true)
self.playerViewController.player?.play()
【问题讨论】:
检查你的代码格式;似乎您的某些行缺少开头的四个空格。 【参考方案1】:当我在示例项目中运行您的代码时,调试器会打印:
“应用传输安全已阻止明文 HTTP (http://) 资源加载,因为它不安全。可以通过应用的 Info.plist 文件配置临时异常。”
我找到的两个选项是:
1) 在您的 URL 中将方案更改为 https://
或
2) 调整 Info.plist 中的 App Transport Security 设置
我通过您的代码使用这两个选项成功播放了视频。
【讨论】:
仅适用于 op:如果您想在 appstore 中发布,则 2 不是一个真正的选择【参考方案2】:原来我唯一做的就是,最后一行有
"self.playerViewController.player?.play()" ----->>> "?"当我把它改成--------->>>“!”
它神奇地开始工作......
我在互联网上看到了一个模因,他们谈论编码人员不知道为什么代码有效以及为什么不知道......我猜我也遇到了同样的情况。
【讨论】:
以上是关于xcode 8 || AVPlayer 正在显示视频,但没有播放的主要内容,如果未能解决你的问题,请参考以下文章
在 AVPlayer 缓冲时设置 UIActivityIndicatorView?在目标 c
AVPlayer 无法在 iOS8 上播放 NSDocuments 目录中的视频
带有 AVPlayer 的 AVAudioSession:当 AVPlayer 播放器正在播放时,状态菜单中的“播放”图标不显示