Airplay,Apple TV和Remote Events - 仅用于流媒体音频/视频吗?

时间:2011-12-10 22:26:42

标签: iphone ios apple-tv

我的iPad应用程序使用此处讨论的技术为Apple TV提供了第二个UI - 即,检测并绘制到代表Apple TV的UIScreen:

http://developer.apple.com/library/IOs/#documentation/AudioVideo/Conceptual/AirPlayGuide/EnrichYourAppforAirPlay/EnrichYourAppforAirPlay.html

该文件还讨论了接收远程控制事件:

使用AirPlay时,您的媒体可能正在主机设备的另一个房间播放。 AirPlay输出设备可能有自己的控件或响应Apple遥控器。为了获得最佳用户体验,您的应用应该监听并响应远程事件,例如播放,暂停和快进请求。启用远程事件还允许您的应用响应插入主机设备的耳机或耳塞上的控件。

我已经实现了他们描述的方法,以便在我的应用程序和简单的测试项目中开始接收远程控制事件,但我无法检测到任何事件。当我使用直接插入iPad的耳机时,我没有收到任何事件,当我向Apple TV发送视图时,我没有收到任何事件。

我得出的结论是,实际上,拦截远程控制事件的唯一方法是您是将媒体流式传输到Apple TV ,而不是简单地呈现应用UI或镜像。

使用MixerHost示例应用程序(http://developer.apple.com/library/ios/#samplecode/MixerHost/Introduction/Intro.html)进行以下步骤测试可以支持此假设:

  1. 在iPad上启动应用程序,并启用了对Apple TV的镜像。
  2. 按遥控器上的“播放”按钮 - 没有任何反应。
  3. 按应用UI上的“播放”按钮,音乐开始通过Apple TV播放。
  4. 按遥控器上的“播放”按钮停止播放音乐,但音乐不会停止。
  5. 更改iPad上的Airplay路由,使其不再镜像,只是将音频发送到Apple TV。如果在“remoteControlReceivedWithEvent”上设置断点,并按遥控器上的“播放/暂停”按钮,则可能会捕获该事件。它是不一致的 - 在收到一两个事件后,它就会停止工作。
  6. 还有其他人在Airplay和遥控事件方面有更好的运气吗?建议?

1 个答案:

答案 0 :(得分:3)

我也一直在通过AirPlay Mirroring试验第二个屏幕用户界面,我可以确认在镜像期间Apple远程事件没有从Apple TV转发到iOS设备。

在我自己的测试应用程序中,我可以始终接收耳机遥控器事件和“正在播放的控件”中的远程控制事件 - 双击主页按钮后底部工具栏中的媒体控件。

但Apple TV遥控器上没有任何事件出现过。

只需添加到Apple / AirPlay心愿单中的另一项......