Avplayer不会从网址播放视频

时间:2016-06-02 13:59:12

标签: ios swift video avplayer

当我尝试从网址播放时,AVPlayer无法播放视频。但是当我尝试下载并播放视频时,我正在做错什么?

self.avAsset = AVAsset(URL: NSURL(string: contentURLString)!)
 let item = AVPlayerItem(asset: avAsset)
            avPlayer = AVPlayer(playerItem: item)
            playerLayer = AVPlayerLayer(player: avPlayer)
            playerLayer.frame = self.view.frame
            playerLayer.videoGravity = AVLayerVideoGravityResizeAspectFill
            cell.videoView.layer.addSublayer(playerLayer)
            self.avPlayer.seekToTime(kCMTimeZero)
            avPlayer.play()

4 个答案:

答案 0 :(得分:0)

Objective-C答案的Swift 3.0翻译

    let videoURL: URL = URL(string: contentURLString)!

    let playerViewController = AVPlayerViewController()
    self.playerController = playerViewController
    self.playerController.player = AVPlayer(url: videoURL)
    self.present(self.playerController, animated: true) { 
        self.playerController.player?.play()
    }

答案 1 :(得分:-1)

要将AVPlayer与远程文件一起使用,请创建一个示例项目,并在ViewController的viewDidLoad()中添加以下行。

NSURL *videoURL = [NSURL URLWithString:contentURLString];

//Use AVPlayerViewController to use default Apple Controls
AVPlayerViewController *playerViewController = [AVPlayerViewController new];
self.playerController = playerViewController;
self.playerController.player = [AVPlayer playerWithURL:videoURL];
[self presentViewController:self.playerController animated:YES completion:^{
     //Start Playback
     [self.playerController.player play];
}];

答案 2 :(得分:-1)

除非服务器支持Http Range:参数,否则AVplayer将不会播放远程URL视频。否则显示黑屏

答案 3 :(得分:-1)

我有相同的症状,我尝试播放enter image description here中的示例视频。

但是我的播放器视图为空,但视频无法播放。 在设备上进行测试时没有错误消息,但是在模拟器上进行测试时,我收到以下消息:

  

由于“应用程序传输安全性”策略要求使用安全连接,因此无法加载资源。

所以问题基本上出在 HTTP协议

解决方案A :通过 https 使用视频源。

解决方案B :更改信息文件中的“应用传输安全性”策略(URL