使用MediaBrowserService构建Podcast应用

问题描述

我正在遵循Android documentation上有关如何正确构建媒体应用程序的信息。到目前为止,我已经构建了一个小型演示,可以在其中播放和暂停通过http流式播放的媒体项目。

在UI端,我像这样开始播放:

mediaController.transportControls.playFromUri("http://someuri.mp3",null);

在服务方面,我正在处理如下问题:

callback = MediaSessionCompat.Callback(){

  override fun onPlayFromUri(uri: Uri,extras: Bundle?){
    // do some preparations
    // ...

    myPlayerImpl.playFromUri(uri)
  }

}

到目前为止,一切正常。但是,现在我想更进一步,实现跳过功能:skip to nextskip to prev。显然,为此,我需要一个播放列表。其余逻辑将保持不变。

这就是我坚持的地方。

我找到了onGetRoot()onLoadChildren()。如果我正确理解它,则这两种方法应负责构建播放列表,然后将其传递给UI进行渲染。现在,我看到的所有示例,包括UAMP sample app,都展示了如何使用硬编码的播放列表和其硬编码根加载播放列表。但是,就我而言,播放列表应根据用户看到的Podcast动态加载。因此,我想我应该能够以某种方式传递onGetRoot()返回的播客ID,然后下载剧集并将结果发送回UI。

所以我不知道该怎么做:将播客ID传递到MediaBrowserService。我非常感谢您提供有关如何正确解决此问题的任何建议或想法。

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)

相关问答

依赖报错 idea导入项目后依赖报错,解决方案:https://blog....
错误1:代码生成器依赖和mybatis依赖冲突 启动项目时报错如下...
错误1:gradle项目控制台输出为乱码 # 解决方案:https://bl...
错误还原:在查询的过程中,传入的workType为0时,该条件不起...
报错如下,gcc版本太低 ^ server.c:5346:31: 错误:‘struct...