Android Cast Dialog - 暂停工作,不播放
Posted
技术标签:
【中文标题】Android Cast Dialog - 暂停工作,不播放【英文标题】:Android Cast Dialog - Pause working, play is not 【发布时间】:2017-02-25 14:37:12 【问题描述】:演员对话和自定义接收器有问题。媒体正在投射和播放,投射对话框显示暂停图标,点击暂停会导致投射框架向接收器发送一条消息,该消息通过cast.receiver.MediaManager.onPause()
。从那里我暂停我的自定义播放器并调用MediaManager.broadcastStatus()
,这会导致发送者的演员对话按钮从暂停图标切换到播放图标。但是,按下播放按钮什么也没做。调试android客户端我看到MediaSessionCompatApi21.onPause()
和.onPlay()
在按下按钮时被调用,但只有暂停向接收器发送任何内容。知道为什么框架没有导致在接收器上调用cast.receiver.MediaManager.onPlay()
函数吗? support:7.25.2 / play-services:10.2.0
或 support:7.24.4 / play-services:9.4.0
会发生这种情况。我显然不懂一些基本的东西..
在我的应用程序和 CastVideos-android 应用程序上,我随机注意到的另一件可能相关的事情是,注释掉 gradle 文件中的 mediarouter 编译行会导致可运行的构建,但演员对话暂停功能也被破坏了。其他所有与演员阵容相关的工作都很好。令人痛苦的困惑..
更新:我针对我的自定义接收器运行 CastVideos-android 应用程序(不播放任何媒体,但模拟消息传递)并且播放/暂停工作正常。开始相信这是一个构建问题..
【问题讨论】:
【参考方案1】:仔细查看最新的 CastVideos-android 示例解决了这个问题。给定一个虚拟 MediaInfo 实例 X,我正在调用
_remoteMediaClient.load(X);
看起来很合理,但它不适用于演员对话播放问题。使用 MediaQueueItem(通过查看最新的 CastVideos-android 版本)修复了它...
MediaQueueItem qi = new MediaQueueItem.Builder(X).setAutoplay(true).setPreloadTime(20).build();
MediaQueueItem[] qa = new MediaQueueItem[]qi; _remoteMediaClient.queueLoad(qa,0,MediaStatus.REPEAT_MODE_REPEAT_OFF, null);
【讨论】:
以上是关于Android Cast Dialog - 暂停工作,不播放的主要内容,如果未能解决你的问题,请参考以下文章