2011-09-22 6 views
3

4 개의 AVPlayers (APPLE 예제와 같은 AVPlayerLayers 포함)가있는 ViewController가 있습니다.AVPlayerLayers가있는 다중 AVPlayers가 두 번째로 사라집니다. viewcontroller

이 뷰 컨트롤러를 팝하면 같은 유형의 새 인스턴스를 푸시합니다. 하나 또는 두 개의 AVPlayers에서 비디오를 재생할 수 없습니다. 오류가없고 코드가 잘 돌아가고 AVPlayerLayers도 superLayer를 가지고 있다고 말합니다.

그리고 가장 이상한 일로 홈 버튼을 누르면 발판으로 돌아와서 앱에 들어가면 모든 비디오 플레이어가 마술 놀이를 시작합니다. 보기 트리 또는 뭔가를 다시 렌더링하는 것과 같습니다.

힌트 또는 단서?

추신. loadValuesAsynchronouslyForKeys를 사용하여 자산 준비가 완료 될 때까지 기다립니다.

+0

필 나도 같은 문제를 경험 한 rootViewController가 (AVPlayers/승)를 AVPlayerLayer이있는 경우 내가 다시 rootVC에 팝업 때, 나는 다른의 ViewController를 밀어 곳, 비디오에 관계없이 최대 이긍한다 videoGravity 속성 아래의 솔루션을 따라 내 문제가 해결되었습니다. –

답변

2

우리는 비슷한 문제가있었습니다. 해결책에 대한 답을 따라 답하십시오 : AVplayer not showing in ScrollView after 2-3 times

전화해야합니다 : [AVPlayer replaceCurrentItemWithPlayerItem : nil]; 뷰 컨트롤러가 언로드 될 때. 관찰자를 추가했거나 addBoundaryTimeObserverForTimes를 사용했을 때 까다로운 일일 수 있습니다. queue : usingBlock :

agaings superlayer를 검사 할 때는주의해야합니다. uiview.window와 비교할 때 뷰가 여전히 첨부되었는지 확인하는 것이 좋습니다. 뷰 계층 구조.

당신