无法在我的ios应用中播放视频

时间:2018-01-19 13:43:56

标签: ios swift swift4 xcode9.2

我想在我的ios应用程序中使用视频播放器(我使用xcode版本9.2和swift版本4)。它必须播放来自互联网的m3u8视频。我使用下面的代码:

import UIKit
import AVKit
import AVFoundation

class ViewControllerPlayer: UIViewController {

    override func viewDidLoad() {            
        super.viewDidLoad()
        let videoURL = URL(string: "http://clips.vorwaerts-gmbh.de/big_buck_bunny.mp4")
        let video = AVPlayer(url: videoURL!)
        let videoPlayer = AVPlayerViewController()
        videoPlayer.player = video
        present(videoPlayer, animated: true, completion: {
            video.play()
        })

    }

    override func viewDidAppear(_ animated: Bool) {
        super.viewDidAppear(animated)
    }
}

但不幸的是,在编译我的应用程序崩溃后并没有播放视频。然后我将代码从viewDidLoad()方法转移到viewDidAppear()。但是没有效果。那么,我如何在我的ios应用程序中播放来自互联网的视频?感谢。

1 个答案:

答案 0 :(得分:0)

present方法的文档说明了以下completion

演示结束后要执行的块。该块没有返回值,不带参数。您可以为此参数指定nil。

video.play()移到present之上,它应该有效。

但是您使用的是HTTP,因此ATS会抱怨并且不会显示视频。

将以下代码添加(BAD PRACTICE)到Info.plist以禁用ATS:

<key>NSAppTransportSecurity</key>
<dict>
   <key>NSAllowsArbitraryLoads</key>
   <true/>
</dict>