我正在编写一个使用 MPMoviePlayerController 播放 url 的应用程序。该应用程序在后台运行,使用 airplay 也适用于 ATV、使用 airserver 的 macmini 和 XBMC。该 url 指向本地网络上的电影文件。我理解的方式是手机不会做任何繁重的工作,而只是将 url 传递给苹果电视,只要 url 指向 AppleTV 支持的媒体,它就会播放。
我遇到的问题是苹果电视必须积极地 ping iphone 并保持 wifi 处于活动状态,因为电池寿命受到了很大的打击。播放一部普通大小的电影会使 iPhone 3GS 的电池寿命减少约 2/3,而在 iPhone 4S 上则减少 1/2。
如果我使用空中服务器在 mac mini 上玩游戏,那么手机的电池寿命会以与手机处于后台并且不播放任何内容相同的速度减少。我注意到如果我在 iphone 上停止 wifi,那么电影将继续在 mac mini 上播放,但在 ATV 上大约 30 秒内停止。我猜 ATV 一直在推出一个事件,说它正在播放,如果它没有收到 OK 作为回报,那么它就会停止播放。
有什么我做错了吗?其他人是否在手机上使用 Airplay 时遇到过同样的电池消耗问题?我试过别人的应用程序,它也做了同样的事情。