2013-06-26 3 views
0

AVPlayer를 통해 HTTP를 통해 비디오를 재생하는 iOS 응용 프로그램이 있습니다.AVPlayer가 외부에서 비디오 재생을 중지 할 수 있습니까? (Apple TV에서)

나는 현재 재생을 스트리밍하기 위해 방송 재생 장치를 선택할 수있는 MPVolumeView가 있습니다.

하지만 이제는 프로그래밍 방식으로 비디오 스트리밍을 중단하고 iPad 화면의 응용 프로그램에서 AVPlayer의 비디오 레이어에서 계속 재생할 수 있어야합니다. (마찬가지로 MPVolumeView의 버튼 않지만, 프로그래밍)

이, 도와주세요, 나 자신과 구글의 도움을 해결책을 찾기 위해 노력하지만 난이 문제 :(정말 가능

인가를 해결할 수없는 무엇입니까?

감사합니다!

답변

1

먼저이 프로그램 다중 디스플레이에 this 참조를 읽을해야 할 것이다.

그러나 나는 생각이 특정한 상황에서, 당신은을 찾고 있습니다를 10은 의 NSArray을 반환합니다. 인덱스 0 인 UIScreen은 내부 디스플레이이고 인덱스 1 인 것은 Apple TV의 디스플레이입니다. 이제부터는 this 설명서 및 예제에 따라 표시 할 UIScreen의 화면 속성을 가진 UIWindow 만 만들어야합니다. 그런 다음 해당 UIWindow에 레이어, 뷰 등을 쉽게 추가 할 수 있습니다.

+0

참고 및 도움을 주셔서 감사합니다. Rickye, 솔루션의 핵심 인 것 같습니다. 사용하려고 시도하고 아마도 문제를 해결할 것입니다. 조사 할 가치가 있습니다. –

0

이 시나리오에서는 여러 디스플레이를 직접 프로그래밍 할 필요가 없습니다. 다른 디스플레이를 사용하지 않으려면 iOS의 비디오 서브 시스템에 ...

의 속성은 allowsExternalPlayback이며 NO으로 설정할 수 있습니다. 이렇게하면 외부 디스플레이에서 재생이 비활성화됩니다. 응용 프로그램 내에서 플레이어의 원래 AVPlayerLayer에서 재생이 계속됩니다.

+0

나는 이것을 시도했다. 비디오 재생은 외부 디스플레이에서 비활성화되어 iPad 화면에서 계속 재생되지만 오디오는 여전히 외부 디스플레이 –

+0

을 통해 재생된다. 나는 또한이 문제를 겪는다. 오디오는 여전히 외부 디스플레이를 통해 재생됩니다. 이것을위한 해결책을 찾았습니까? @AlexanderTkachenko – KarenAnne

+0

@KarenAnne 불행히도 없습니다. AVPlayer를 통한 '비디오'재생은 AVAudioSession을 사용하여 사운드를 재생하므로 allowExternalPlayback을 비활성화하면 AVAudioSession에서 자체 설정을 사용하고 외부 장치를 통해 계속 재생할 수 있습니다. 아마도 AVAudioSession을 구성하여 airplay를 비활성화해야 할 필요가있을 수도 있습니다. –