我的应用程序显示sd卡的歌曲列表.我希望能够在默认播放器上播放歌曲.我已经获得了关于这首歌的所有数据:id,title,album,artist,path …
有没有办法启动默认播放器播放歌曲?
我尝试过的:
>使用Intent.CATEGORY_APP_MUSIC.我可以启动默认播放器,但无法设置歌曲.
Intent.makeMainSelectorActivity(Intent.ACTION_MAIN,Intent.CATEGORY_APP_MUSIC)打开默认音乐应用程序.
Yetintent.setData(Uri.withAppendedPath(MediaStore.Audio.Media.EXTERNAL_CONTENT_URI,id))抛出未找到intent的异常.
>使用已弃用的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支持.
解决方法
如果您想在设备上启动默认音乐播放器应用,请尝试以下操作:
Intent intent = new Intent(); intent.setAction(android.content.Intent.ACTION_VIEW); File file = new File(YOUR_SONG_URI); intent.setDataAndType(Uri.fromFile(file),"audio/*"); startActivity(intent);