【问题标题】:xcode 8 || AVPlayer is showing video however it's not playingxcode 8 || AVPlayer 正在显示视频,但没有播放
【发布时间】: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()
    }

}

}

【问题讨论】:

  • 检查你的代码格式;似乎您的某些行缺少开头的四个空格。

标签: ios xcode swift3


【解决方案1】:

当我在示例项目中运行您的代码时,调试器会打印:

“应用传输安全已阻止明文 HTTP (http://) 资源加载,因为它不安全。可以通过应用的 Info.plist 文件配置临时异常。”

我找到的两个选项是:

1) 在您的 URL 中将方案更改为 https://

2) 调整 Info.plist 中的 App Transport Security 设置

我通过您的代码使用这两个选项成功播放了视频。

【讨论】:

  • 仅适用于 op:如果您想在 appstore 中发布,则 2 不是一个真正的选择
【解决方案2】:

原来我唯一做的就是,最后一行有

"self.playerViewController.player?.play()" ----->>> "?"当我把它改成--------->>>“!”

它神奇地开始工作......

我在互联网上看到了一个模因,他们谈论编码人员不知道为什么代码有效以及为什么不知道......我猜我也遇到了同样的情况。

【讨论】:

    猜你喜欢
    • 2011-01-18
    • 1970-01-01
    • 1970-01-01
    • 2016-10-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多