我有一個名爲Intro.m4v
的視頻文件,這對我的應用程序目標的目標成員(以及影片本身從iPhone是直的,所以我敢肯定這是iPhone支持)。AVPlayer與AVPlayerLayer不玩視頻
我想播放視頻如下(self.videoContainer
是我的視圖控制器中的全屏視圖,並且雙重檢查,它不是nil
。此外,播放器和播放器層是我的視圖控制器類中強烈引用的實例變量):
- (void)viewDidLoad {
[super viewDidLoad];
// Do any additional setup after loading the view.
player = [AVPlayer playerWithURL:[NSURL fileURLWithPath:@"Intro.m4v"]];
playerLayer = [AVPlayerLayer playerLayerWithPlayer:player];
playerLayer.frame = self.videoContainer.layer.frame;
[self.videoContainer.layer addSublayer:playerLayer];
}
-(void)viewWillAppear:(BOOL)animated{
[super viewWillAppear:animated];
[player play];
}
-(void)viewDidLayoutSubviews{
[super viewDidLayoutSubviews];
playerLayer.frame = self.videoContainer.layer.frame;
}
但是,沒有什麼比賽。我所看到的全部是我的視頻容器視圖的背景顏色(以及它前面的所有視圖,以此方式)。我究竟做錯了什麼?
是在應用程序捆綁您的視頻?一旦嘗試將'didload'的代碼放在'willAppear'或'didAppear'中! – Lion
也許,問題是''AVPlayerLayer的規模仍然是零,當你執行'[遊戲玩家]'?如果你在'viewDidAppear:'開始播放,怎麼辦? –
@Lion是的,我只是回答我的問題,當你寫的評論:)它被捆綁和網址,看到我的回答如下有關。 –