当我尝试从网址播放时,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()
答案 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)
但是我的播放器视图为空,但视频无法播放。 在设备上进行测试时没有错误消息,但是在模拟器上进行测试时,我收到以下消息:
由于“应用程序传输安全性”策略要求使用安全连接,因此无法加载资源。
所以问题基本上出在 HTTP协议。
解决方案A :通过 https 使用视频源。
解决方案B :更改信息文件中的“应用传输安全性”策略(URL