2012-05-12 13 views
6

Piszę aplikację, która odtwarza adres URL za pomocą MPMoviePlayerController. Aplikacja działa w tle, a korzystanie z funkcji Airplay działa również z ATV, macmini przy użyciu airserver i XBMC. Adres URL jest plikiem filmowym w sieci lokalnej. Sposób, w jaki I understand polega na tym, że telefon nie wykonuje żadnego ciężkiego podnoszenia, ale jedynie przekazuje adres URL do Apple TV i tak długo, jak URL wskazuje na media obsługiwane przez AppleTV, wtedy będzie odtwarzany.Airplaying wideo z adresu URL do ATV za pomocą dużej ilości baterii na iPhone

Problem polega na tym, że Apple TV musi agresywnie pingować iPhone'a i utrzymywać aktywność sieci Wi-Fi, ponieważ żywotność baterii jest mocno utrudniona. Odtwarzanie filmu o średniej wielkości powoduje skrócenie żywotności baterii o około 2/3 w przypadku telefonu iPhone 3GS i 1/2 w telefonie iPhone 4S.

Jeśli odtwarzam na komputerze Mac mini przy użyciu air server, wówczas żywotność baterii w telefonie zmniejsza się z taką samą szybkością, jak gdyby telefon był w tle i nie odtwarzał niczego. Zauważyłem, że jeśli zatrzymam wifi na iPhonie, to film będzie nadal odtwarzany na Mac mini, ale zatrzyma się w okolicach 30 sekund na ATV. Zgaduję, że ATV kontynuuje wypychanie zdarzenia mówiąc, że gra i jeśli nie otrzyma OK, to przestaje grać.

Czy jest coś, co robię źle? Czy inne osoby doświadczyły takiego samego wyczerpania baterii za pomocą emisji z telefonu? Wypróbowałem czyjąś aplikację i zrobiłem to samo.

Odpowiedz

1

Śledzenie pakietów z ruchu dałoby definitywną odpowiedź. Ale zakładając, że dokumentacja, z którą się łączysz jest poprawna, Twoja odpowiedź może być tutaj:

Serwer AirPlay jest serwerem HTTP (RFC 2616). Tworzone są dwa połączenia z tym serwerem, z których drugi jest używany jako odwrotne połączenie HTTP. Umożliwia to klientowi odbieranie z serwera zdarzeń asynchronicznych, takich jak zmiany statusu odtwarzania.

Połączenie odwrotne sprawi, że radio WiFi będzie aktywne.

+0

Tak, podejrzewam, że jest to problem. Szkoda, ponieważ oznacza to, że odtwarzanie filmu naprawdę mocno wpływa na żywotność baterii. – Ajaxharg