【发布时间】:2015-06-19 11:46:24
【问题描述】:
我的应用程序显示来自 sd 卡的歌曲列表。我希望能够在默认播放器上播放歌曲。我有关于这首歌的所有数据:id、标题、专辑、艺术家、路径...
有没有办法启动默认播放器来播放歌曲?
我的尝试:
使用
Intent.CATEGORY_APP_MUSIC。我可以启动默认播放器,但无法设置歌曲。Intent.makeMainSelectorActivity(Intent.ACTION_MAIN, Intent.CATEGORY_APP_MUSIC)打开默认音乐应用。 然而intent.setData(Uri.withAppendedPath(MediaStore.Audio.Media.EXTERNAL_CONTENT_URI, id))抛出异常,即未找到意图。使用已弃用的
MediaStore.INTENT_ACTION_MUSIC_PLAYER。未找到活动。Intent(MediaStore.INTENT_ACTION_MUSIC_PLAYER).setDataAndType(Uri.fromFile(songFile), "audio/*")- 使用
INTENT_ACTION_MEDIA_PLAY_FROM_SEARCH。启动搜索,但不是歌曲,说无法在播放音乐上准备混音。但是,它现在可以在 Google 上使用,因此它可能是关键。Intent(MediaStore.INTENT_ACTION_MEDIA_PLAY_FROM_SEARCH).putExtra(SearchManager.QUERY, name) - 使用
ACTION_VIEW。它可以工作,但它会启动播放器的紧凑版本,我想要完整的播放器。
注意:我想启动外部播放器,而不是在我的应用中。
更新:看起来像 Google Now 硬编码 Play Music 和 Youtube 支持。
【问题讨论】:
-
其实不是,我想推出特定的歌曲,而不仅仅是音乐播放器。
-
你找到答案了吗>
标签: android android-intent mediastore android-music-player