2012-05-12 5 views
6

나는 MPMoviePlayerController를 사용하여 URL을 재생하는 앱을 작성 중입니다. 이 앱은 백그라운드에서 작동하며 airplay를 사용하면 ATV, airminer 및 XBMC를 사용하는 macmini에서도 작동합니다. URL은 로컬 네트워크의 동영상 파일에 대한 것입니다. 방법은 내가 understand 그 전화는 무거운 짐을하지 않지만 단지 애플 TV에 URL을 전달하고 AppleTV가 지원하는 미디어에 대한 URL을 가리키는 한 그것은 재생됩니다.아이폰에 많은 배터리를 사용하여 url에서 ATV로 동영상을 보냅니다.

내가 겪고있는 문제는 Apple TV가 적극적으로 iphone을 핑 (ping)하고 배터리 수명이 매우 길어 졌기 때문에 Wi-Fi를 활성 상태로 유지해야한다는 것입니다. 평균 크기의 영화를 재생하면 IPhone 3GS에서 약 2/3, IPhone 4S에서 1/2 정도 배터리 수명이 저하됩니다.

air server을 사용하여 Mac mini에서 재생할 경우 전화가 배터리 상태 일 때와 같은 속도로 배터리가 줄어 듭니다. 나는 아이폰에서 wifi를 멈추게하면 영화가 맥 미니에서 계속 재생되지만 ATV에서 약 30 초 이내에 멈추게된다. 나는 ATV가 그것이 재생 중임을 나타내는 이벤트를 계속 내 보냈다는 것을 추측하고 있으며, 그 대가로 OK를받지 못하면 재생을 멈춘다.

내가 잘못하고있는 것이 있습니까? 다른 사람들이 휴대 전화에서 airplay를 사용하여 동일한 배터리 소모를 경험하게합니까? 나는 다른 누군가의 앱을 시도해 보았고 같은 것을 또한했다.

답변

1

트래픽의 패킷 추적은 확실한 답을 줄 것입니다. 그러나 연결된 문서가 정확하다고 가정 할 때 응답은 다음과 같습니다.

AirPlay 서버는 HTTP 서버 (RFC 2616)입니다. 이 서버에는 두 개의 연결이 만들어지고 두 번째 연결은 역방향 HTTP 연결로 사용됩니다. 이를 통해 클라이언트는 재생 상태 변경과 같은 비동기 이벤트를 서버에서 수신 할 수 있습니다.

역방향 연결은 WiFi 무선을 활성화합니다.

+0

예, 그것이 내가 의심하는 문제입니다. 영화를 재생하면 배터리 수명이 길어지는 것은 수치스러운 일입니다. – Ajaxharg