如何设置 MediaSession.QueueItem 的媒体路径
How to set a MediaSession.QueueItem's Media Path
我正在构建一个 MediaSession.QueueItems 的 ListArray,目的是将该列表作为播放列表推送到 MediaSession。
我注意到 MediaDescription.Builder 中有一种方法可以为项目指定 MediaUri,但在 API 23 之前不可用。
问题是:
- 如何将媒体文件的路径关联到 MediaSession.QueueItem?
- 在 API v21 之后和 API v23 之前做了什么?
我在这个例子中找到了答案:https://github.com/emuneee/MarshmallowFM
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) {
mMediaController.getTransportControls().playFromUri(uri, null);
} else {
Bundle bundle = new Bundle();
bundle.putParcelable(AudioPlayerService.PARAM_TRACK_URI, uri);
mMediaController.getTransportControls().playFromSearch("", bundle);
}
只需搜索与 URI 完全匹配的内容,它的行为实际上是一样的。
我正在构建一个 MediaSession.QueueItems 的 ListArray,目的是将该列表作为播放列表推送到 MediaSession。
我注意到 MediaDescription.Builder 中有一种方法可以为项目指定 MediaUri,但在 API 23 之前不可用。
问题是:
- 如何将媒体文件的路径关联到 MediaSession.QueueItem?
- 在 API v21 之后和 API v23 之前做了什么?
我在这个例子中找到了答案:https://github.com/emuneee/MarshmallowFM
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) {
mMediaController.getTransportControls().playFromUri(uri, null);
} else {
Bundle bundle = new Bundle();
bundle.putParcelable(AudioPlayerService.PARAM_TRACK_URI, uri);
mMediaController.getTransportControls().playFromSearch("", bundle);
}
只需搜索与 URI 完全匹配的内容,它的行为实际上是一样的。