2013-02-26 3 views
4

AirPlay에 문제가 있습니다. 문제는 ATV3으로 개발 중이며 내 TV 세트가 1080p를 지원한다는 것입니다. 그러나 스크린 미러링을 시작하고 UIScreen의 새로운 인스턴스를 수신하면 경계와 applicationFrame 모두 720p 해상도를 제공합니다.AirPlay 미러링의 언더 스캔 문제

하지만 실제로 서브 뷰를 음수 값으로 이동하면 전체 화면이 덮히는데 이상하게 보입니다. 따라서 기술적으로 iPhone은 1080p로 스트리밍되지만 UIScreen에서 반환하는 경계는 언더 스캔됩니다.

bounds 또는 applicationFrame을 가져 오기 전에 overscanCompensation을 수정 해 보았습니다. (사용 가능한 모든 3,값을 모두 시도했지만) 여전히 동일한 결과가 나타납니다. 여기

는 내가 무엇을 얻고의 사진입니다 (내가 아는 죄송합니다, 그것은 지구상에서 최악의 사진,하지만 나는 ATV :에 이미지를 스트리밍 할 내 전화를 사용했다)

Red view is the 720p reported by the bounds property. 빨간색보기는 bounds에 의해보고 된 720p입니다.

내 ATV2에서 실제 시도 할 때 (심지어 1080p를 지원한다고해도 720p로 제한됨) 결과가 더 이상하지 않으며 그 결과는 정확히 동일한입니다. 누군가가 설정이 내 응용 프로그램에서 볼 퍼팅 피하기 위해 실제 화면 표시를 얻을 수있는 방법을 알고 있다면

어쨌든, 나는 그것을 정말 감사하겠습니다. ,

typedef enum { 
UIScreenOverscanCompensationScale, 
UIScreenOverscanCompensationInsetBounds, 
UIScreenOverscanCompensationInsetApplicationFrame, 
} UIScreenOverscanCompensation; 

그러나, 네 번째 모드가있다 : 사전 :

+0

실제로 보행자가 실제로 ATV2에서 1080p를 사용하고 있고 보간 된 결과가 아닌지 확실하게 확신합니까? – Till

+0

사실은 아니지만, 잠깐만 기다리면 확인해 보겠습니다.어쨌든 ATV2는 1080p 해상도를 지원하지만, 720p보다 큰 해상도로 비디오를 완벽하게 디코딩 할 수는 없습니다. –

+1

AFAIK AirPlay 미러링은 720에서 ATV로 제한되어 있지만 구식 정보 일 수 있습니다. 단지 힌트 일 수 있습니다. 이미 실제로 여기에 관련된 질문이 있습니다. http://stackoverflow.com/questions/9952739/airplay-on-new-apple-tv-3rd-gen-for-second-screen-not-at-1080p – Till

답변

1

설정은 다음과 같습니다 UIScreenOverscanCompensationInsetApplicationFrame는 UIWindow 내용의 정렬 불량을 일으킬 수에

externalScreen.overscanCompensation = UIScreenOverscanCompensationInsetBounds | UIScreenOverscanCompensationInsetApplicationFrame; // this is the same as setting it to 3 

은 그냥 설정.

3은 해당 번호의 출처와 그 이유에 대해 궁금한 사람들을위한 UIScreenOverscanCompensationInsetBounds (1) 및 UIScreenOverscanCompensationInsetApplicationFrame (2)의 비트 마스크입니다.

+0

Swift 버전 :'externalScreen.overscanCompensation = UIScreenOverscanCompensation (rawValue : 3)! 1 –

2

당신이 3 개 overscanCompensation 모드를 시도 언급에

덕분에, 나는 당신이 3 개 문서화 모드를 의미 추정 거기에 없지만 문제를 해결해야합니다 : overscanCompensation3으로 설정하면됩니다.

또한 SO question을 살펴보십시오. 대부분의 TV에 가장 적합한

2

이반 (Ivan)의 대답은 저에게 같은 문제를 해결했습니다! AirPlay Mirroring을 사용할 때도 테두리가있었습니다. 내 Apple TV의 설정을 변경하여 overscanCompensation 속성을 설정하지 않고 테두리를 제거했습니다. '설정> 오디오 & 비디오> AirPlay 오버 스캔 조정'을 해제 (기본값은 켜기)로 해보십시오.