我正在努力将Google Chromecast集成到我的Android应用程序中。为此,我指的是Google Cast示例。
我正在使用CastCompanionLibrary-android - CCL,为了理解如何使用它,我指的是Cast视频示例。然而,本示例展示了如何在ActionBar中使用“强制转换”按钮。
我的问题是,如果我必须在自定义布局中使用MediaRouteButton,如何使用这个库?我要在哪个地方做改变?
我的活动扩展了FragmentActivity。
注意:I确实查看了随库提供的pdf文档,但是没有找到关于如何在MediaRouteButton中使用库的太多信息。
任何帮助都是非常感谢的。
更新:
步骤1:我得到一个VideoCastManager实例。
步骤2:我从自定义布局中获取MediaRouteButton并将其添加到VideoCastManager实例中。
步骤3:实现onCastDeviceDetected()、onCastAvailabilityChanged()、onApplicationConnected()、onApplicationDisconnected()和VideoCastConsumerImpl侦听器方法的onDisconnected()方法。然后将此侦听器添加到VideoCastManager实例中。
步骤4:在onApplicationConnected()中,我通过传递查找栏的当前位置来调用loadRemoteMedia()。
但这是行不通的。录影从来没有开始过。
更新2 :
下面是我在Cast视频示例应用程序中尝试Cast url时获得的日志。
申请国:"Loaded.Started.Ready“ 会话计数:“2” 媒体要素国家:“停滞” Cast接收器管理器消息:“发件人连接:{其他数据}” 媒体管理器消息:“加载{其他数据}” 媒体协议:" m3u8“//我的视频有m3u8扩展
下面是我在我的应用程序中尝试强制转换url时得到的日志。
申请国:"Loaded.Started.Ready“ 会话计数:“1” 媒体要素国家: Cast接收器管理器消息:“发件人连接:{其他数据}” 媒体管理器消息:“获取状态{其他数据}” 媒体协议:未知
更新3 BaseCastManager标签:
D/ccl_BaseCastManager(2974):v1.8为"Chromecast“获取与Google Play服务的连接(941cb5ec30f65c2082b67f7c5df0b03) D/ccl_BaseCastManager(2974):v1.8 onConnected()与先前的暂停: false D/ccl_BaseCastManager(2974):v1.8 launchApp()称为D/ccl_BaseCastManager(2974):v1.8启动应用程序 D/ccl_BaseCastManager(2974):v1.8 launchApplication() ->成功结果 D/ccl_BaseCastManager(2974):v1.8成功地添加了新的om.google.sample.castcompanionlibrary.notification.VideoCastNotificationService$2@429998a8侦听器BaseCastConsumer
VideoCastManager标签:
D/ccl_VideoCastManager(2974):v1.8 onApplicationStatusChanged()到达: Chromecast主屏幕 D/ccl_VideoCastManager(2974):v1.8到达onVolumeChanged() D/ccl_VideoCastManager(2974):v1.8到达onApplicationStatusChanged():null D/ccl_VideoCastManager(2974):v1.8 onApplicationConnected()到达sessionId: B71F7618-1516-5F6C-D795-EF32FD0BF5E2和mReconnectionStatus=INACTIVE D/ccl_VideoCastManager(2974):v1.8 startNotificationService() D/ccl_VideoCastManager(2974):v1.8 attachMedia() D/ccl_VideoCastManager(2974):v1.8注册MediaChannel命名空间 D/ccl_VideoCastManager(2974):v1.8 onApplicationStatusChanged()到达:准备播放 D/ccl_VideoCastManager(2974):v1.8成功地添加了新的om.google.sample.castcompanionlibrary.notification.VideoCastNotificationService$2@429998a8侦听器CastConsumer D/ccl_VideoCastManager(2974):v1.8 RemoteMediaPlayer::onStatusUpdated() D/ccl_VideoCastManager(2974):v1.8到达onRemoteMediaPlayerStatusUpdated() D/ccl_VideoCastManager(2974):v1.8 mApiClient或mRemoteMediaPlayer为空,因此将不>继续 D/ccl_VideoCastManager(2974):v1.8 RemoteMediaPlayer::onMetadataUpdated() D/ccl_VideoCastManager(2974):v1.8到达onRemoteMediaPlayerMetadataUpdated()
发布于 2014-09-16 15:15:58
如果您已经连接并成功启动了应用程序(我想您在电视上看到了您的应用程序),那么您使用的是MediaRouteButton而不是操作提供程序这一事实是无关紧要的;这两种选择(按钮与操作提供程序)给出了一条路线,并且您通过了这一阶段,因此如果您试图解决当前问题,请不要专注于此。
我还假定您的意思是loadMedia()而不是loadRemoteMedia()。当你称之为操作结果时,你会得到什么结果?您需要在这方面提供更多的信息(当然包括日志)。
https://stackoverflow.com/questions/25867123
复制相似问题