【问题标题】:Is it possible for an android tv app to listen to play-stop-pause statuses?android 电视应用程序是否可以收听播放-停止-暂停状态?
【发布时间】:2017-11-14 15:57:49
【问题描述】:

背景:我希望在家中实现自动化,我正在使用家庭助理。即使在无数组件中,也没有“感知”Android TV 状态(空闲、播放、暂停、正在播放的媒体)这样的东西。即使没有创建 Android 应用的经验,我也在研究一种集成 Android TV 和家庭助理的方法。

实际问题:我的 android tv 应用程序在后台运行,是否可以收听广播,以便在任何正在播放的媒体时通知它?我的应用能否知道播放状态(空闲、播放、暂停、正在播放的媒体)是否发生变化?

【问题讨论】:

    标签: android broadcastreceiver android-tv


    【解决方案1】:

    基于此documentation,当接收方加载媒体队列项目时,它会为该项目分配一个唯一的 ID,该 ID 在会话期间(以及队列的生命周期)持续存在。您的应用可以根据当前加载(可能未播放)、加载或预加载的项目来了解队列的状态。

    您的应用还可以获得队列中所有项目的有序列表。 MediaStatus 类提供以下状态信息:

    • getPreloadedItemId() 方法 - 如果下一项已预加载,则返回预加载项 ID。
    • getLoadingItemId() 方法 - 返回接收器上当前正在加载(但在队列中不活动)的项目的项目 ID。
    • getCurrentItemId() 方法 - 返回发生媒体状态更改时队列中处于活动状态(可能未播放)的项目的项目 ID。
    • getQueueItems() 方法 - 将 MediaQueueItem 实例列表作为不可修改的列表返回。

    将这些方法与其他媒体状态方法一起使用,以通知您的应用有关队列的状态和队列中的项目。除了来自接收器的媒体状态更新之外,您的应用还可以通过实现RemoteMediaClient.Listener 来监听队列的变化。

    【讨论】:

    • 这适用于通过 AndroidTV 播放的任何媒体还是仅适用于“cast”功能?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-09-10
    • 2013-09-25
    • 2011-01-29
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多