AVPlayer:无法播放.mp4& .mpg文件

时间:2015-10-06 19:55:12

标签: swift avfoundation

我一直在尝试进行视频流,但尚未解决KVO问题。我通过prepareForSegue看到了另一种方式,如下所示:

override func prepareForSegue(segue: UIStoryboardSegue, sender: AnyObject?) {
    let destination = segue.destinationViewController as! AVPlayerViewController
    let url = NSURL(string: "http://www.ebookfrenzy.com/ios_book/movie/movie.mov")
    destination.player = AVPlayer(URL: url!)
}

这有效(iOS 9:如果您绕过App Transport Security)。

所以我替换了以下网址(.mp4):

http://sachinchoolur.github.io/lightGallery/static/videos/video1.mp4

我得到的是一个空白屏幕。好像它试图加载并可能超时。

然后我尝试了一个URL的.mpg文件:

http://files.parsetfss.com/6b8388b7-14c6-431a-a795-2b33f9d47081/tfss-2d72ec5d-8a8d-467b-b799-20c06be52ddb-ngc4261_1.mpg

我得到了这个:

enter image description here

问题:

  1. 为什么我不能播放.mp4文件? - 这是由于尺寸? 我需要在这里进行KVO或NSNotification观察吗?

  2. 为什么我不能播放.mpg文件? - 这是由于格式错误吗?

1 个答案:

答案 0 :(得分:1)

既然添加了那个评论我刚刚意识到我遇到的问题,也许它是一样的。更改为存储在其他域上的完全不同的视频时,您是否更改了plist文件中的服务器域?

<key>NSAppTransportSecurity</key>
<dict>
    <key>NSExceptionDomains</key>
    <dict>
        <key>myDomain.co.uk</key>
        <dict>
            <key>NSIncludesSubdomains</key>
            <true/>
            <key>NSTemporaryExceptionAllowsInsecureHTTPLoads</key>
            <true/>
            <key>NSTemporaryExceptionMinimumTLSVersion</key>
            <string>TLSv1.1</string>
        </dict>
    </dict>
</dict>

'myDomain.co.uk'需要更改为保存视频的位置,服务器地址