2017-03-24 3 views
1

저는 Apple TV에서 일하고 있습니다. 내 UIViewController 내 UIView있다. 내 UIView의 하위보기로 AVPlayerViewController를 추가하고 있습니다. UIView의 프레임은 CGRect (x : 50, y : 50, width : 1344, height : 756)입니다. AVPlayerViewController 프레임을 UIView의 프레임과 동일하게 설정합니다.뷰 안의 AVPlayerViewController가 재생 컨트롤을 표시하지 않습니다.

동영상의 프레임에서는 문제가 없지만 일시 중지, 재생, 전달 등의 컨트롤은 숨겨져 작동하지 않습니다. 하지만 프레임을 CGRect (x : 0, y : 0, width : 1920, height : 1080)로 설정하면 컨트롤이 표시되고 작동합니다.

내 코드는 다음과 당과 같습니다

let url = URL(string: "https://clips.vorwaerts-gmbh.de/big_buck_bunny.mp4") 
    let item = AVPlayerItem(url: url!)   
    self.player = AVPlayer(playerItem: item) 
    self.avplayerController = AVPlayerViewController() 
    self.avplayerController.player = self.player 
    self.avplayerController.view.frame = videoPreviewLayer.frame 
    self.avplayerController.showsPlaybackControls = true 
    self.avplayerController.requiresLinearPlayback = true 

    self.addChildViewController(self.avplayerController) 
    self.view.addSubview(self.avplayerController.view) 

    self.avpController.player?.play() 

도와주세요.

답변

2

이가 예상되는 동작은 다음과 같습니다

AVPlayerViewController이되도록 설계되는 전체 화면에서 전체 재생 경험 (닦고, 정보 패널 액세스, 등) 사용 가능한 모든 을 때. 공간이 전체 화면보다 작 으면 이라는 가정은 화면에 여러 대화 형 요소 중 하나임을 나타내며 이므로보기는 전송 제어로 모든 터치 표면 이벤트를 흡수하지 않아야합니다.

당신은이 스레드에 대한 자세한 내용을보실 수 있습니다 : 통관 다윗 https://forums.developer.apple.com/thread/19526

+0

안녕하세요 감사합니다. 공간이 전체 화면보다 작을 때 avplayer에 대한 컨트롤을 표시 할 수있는 방법일까요? – Ruchi

+0

@Ruchi 예, AVPlayer 속성의 정보를 가져와 AVPlayer의 인스턴스를 통해 사용자 지정보기를 추가 할 수는 있지만 네이티브 AVPlayerViewController를 사용할 수는 없습니다. –

+0

확인. 이를 위해 제 3 자 라이브러리 또는 프레임 워크를 알고 있습니까? 나는 수색했으나 하나를 얻을 수 없었다. – Ruchi

관련 문제