2016-10-07 24 views
6

Tôi đang sử dụng AVPlayer với AVPlayerViewController. Tôi đang phát video sau khi thêm hình mờ trong video. Đôi khi nó hoạt động tốt, nhưng đôi khi nó chỉ hiển thị một màn hình màu đen, và âm thanh là tốt trong cả hai trường hợp.Avplayer hiển thị màn hình đen đôi khi nhưng âm thanh là tốt

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

là iOS10 này? bạn đã thử bản beta iOS10.1 chưa? –

+0

có, tôi đang làm việc trên iOS10, không được thử trên 10.1 –

+0

@DeepakChaudhary bạn có tìm thấy câu trả lời không? –

Trả lời

0

Đảm bảo rằng _imgForVidFrame.frame trả lại đúng khung giờ! Bạn có thể đặt điểm ngắt cho dòng đó để kiểm tra xem nó có trả về kích thước phù hợp hay không!

và dòng cuối cùng của bạn phải là [self.view addSubview:controller.view]; không controller.view.frame =_imgForVidFrame.frame; để trao đổi!

Cập nhật:

sau đó bạn có thể làm một cái gì đó như dưới đây withou AVPlayerViewController,

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

hoặc bạn có thể trình bày AVPlayerViewController một cái gì đó như thế nào,

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

Khung là đúng coz, người chơi có thể nhìn thấy ở vị trí mong muốn. Tôi nghĩ rằng có một số vấn đề với avplayer, đôi khi nó hoạt động hoàn hảo. –

+0

Tôi muốn video trong một khung hình cụ thể, nhưng bằng cách này, không thể đặt khung –

+0

cố gắng đặt khung hình mong muốn của bạn thay vì 'playerLayer.frame = self.view.bounds;' trong giải pháp đầu tiên !! – Lion

Các vấn đề liên quan