0

我在 Nexus 4 上运行了适用于 Android 的新 YouTube Player API,没有太多问题。现在我想将它与Android 4.2 中的多屏API(即Presentation 和MediaRouter 类)结合起来。

但是,似乎无法将其结合起来,因为 YouTubePlayerView 需要使用扩展了 YouTubeBaseActivity 的上下文进行初始化。由于您在远程屏幕上绘制的 Presentation 类中获得的 Context 实例没有扩展它,因此我无法实例化新的 YouTubePlayerView 或任何其他需要 YouTubeBaseActivity 作为其构造函数参数的类。

这使我无法使用 Andorid 4.2 中的新 API 在辅助屏幕上显示 YouTube 播放器。

是否有任何解决方法或计划发布支持 Android 4.2 和新的多屏 API 的更新 API?

谢谢,埃里克

4

1 回答 1

0

忽略这篇文章中用小字写的所有内容。我对Android API一无所知...

我认为这是可能的,但我没有尝试过,所以我不确定它是否会起作用。

免责声明:我是一名 Java 开发人员,但从未开发过 Android 应用程序。把我说的每一句话都拿在手里。

尝试创建您自己的类来扩展YouTubeBaseActivity类,并包装从Presentation类中检索到的Context实例。所以你会有一个Context类型的最终“wrappedContext”字段,并且在构造函数中你会有一个初始化这个字段的Context参数。

然后,尽可能通过调用包装对象的方法来定义/重载每个需要的方法(所有超类的抽象方法,也许还有一些非抽象方法)。

如果你能做到这一点,请告诉我。我很感兴趣,因为自从我购买了 Nexus 4 和 SlimPort 适配器后,我一直想知道镜像是否是唯一的可能性,或者是否可以在辅助显示器上显示其他内容,以及分辨率是否可以高于1280x768 在辅助显示器上。我还没有看到任何应用程序使用新的 4.2 API 进行多显示器...

编辑:包装的上下文可能是非最终的,也可以有一个设置器(setWrappedContext)。

Edit2:实际上每个 Activity 对象中已经有一个包装的 Context(请参阅ContextWrapper)并且 ContextWrapper 也扩展了 Context。

所以我真的不知道你应该在这里做什么。或许真的是不可能的……

Edit3:如果您还没有阅读此页面,也许此页面会有所帮助。

Edit4:您是否尝试过使用YouTubePlayerFragment而不是YouTubePlayerView?似乎它可能会有所帮助,因为您不需要扩展 YouTubeBaseActivity ......

于 2013-02-12T14:34:31.487 回答