2016-10-07 12 views
6

AVPlayerをAVPlayerViewControllerで使用しています。私はビデオにウォーターマークを追加した後、ビデオを再生しています。場合によっては正常に動作していることもありますが、黒い画面しか表示されない場合もあり、どちらの場合でも音声は正常です。Avplayerで黒い画面が表示されることもありますが、音は正常です。

vPlayer = [AVPlayer playerWithURL:_videoFilePath]; 
// create a player view controller 
AVPlayerViewController *controller = [[AVPlayerViewController alloc]init]; 
controller.videoGravity=AVLayerVideoGravityResizeAspect; 
controller.player = vPlayer; 
[vPlayer seekToTime:kCMTimeZero]; 

// show the view controller 
[self addChildViewController:controller]; 
[vPlayer play]; 
controller.view.frame =_imgForVidFrame.frame; 
[self.view addSubview:controller.view]; 
+0

このiOS10ありますか?あなたはiOS10.1ベータ版を試しましたか? –

+0

はい、私はiOS10で作業していますが、10.1で試していません –

+0

@DeepakChaudharyあなたは答えを見つけましたか? –

答えて

0

必ず_imgForVidFrame.frameが正しいフレームを返すようにしてください。その行にブレークポイントを設定して、適切なサイズを返すかどうかをチェックすることができます。

最後の行は[self.view addSubview:controller.view];ではなく、controller.view.frame =_imgForVidFrame.frame;である必要があります。

更新:

、あなたは、AVPlayerViewController withou以下のような何かを行うことができます

AVPlayer *player = [AVPlayer playerWithURL:_videoFilePath]; 
AVPlayerLayer *playerLayer = [AVPlayerLayer playerLayerWithPlayer:player]; 
playerLayer.frame = self.view.bounds; 
[self.view.layer addSublayer:playerLayer]; 
[player play]; 

またはあなたがAVPlayerViewController何かなどを提示することができ、

AVPlayer *player = [AVPlayer playerWithURL:_videoFilePath]; 
AVPlayerViewController *playerViewController = [AVPlayerViewController new]; 
playerViewController.player = player; 
[self presentViewController:playerViewController animated:YES completion:nil]; 
+0

フレームは正しいです、プレーヤーは予想された位置に見えます。私はavplayerにいくつかの問題があると思うが、時には完璧に動作する。 –

+0

私は特定のフレームにビデオを入れたいが、これによってフレームを設定することができない –

+0

最初の解決策では、 'playerLayer.frame = self.view.bounds; – Lion

関連する問題