媒体专辑艺术家播放列表意图

时间:2013-03-22 13:08:48

标签: android

在我的Android应用程序中,我希望用户能够选择专辑,艺术家和播放列表,然后发送默认媒体播放器的意图来播放它们。

我以标准方式获取ID:

final Uri exAudioUri = Uri.parse("content://com.google.android.music.MusicContent/playlists");

final String[] proj = { MediaStore.Audio.Playlists._ID, MediaStore.Audio.Playlists.NAME };

final Cursor musiccursor = ctx.getContentResolver().query(exAudioUri, proj, null, null, null);

    String name = null;
    String id = null;

        if (musiccursor != null && musiccursor.getCount() > 0) {
            while (musiccursor.moveToNext()) {
                name = musiccursor.getString(musiccursor.getColumnIndexOrThrow(MediaStore.Audio.Playlists.NAME));
                id = musiccursor.getString(musiccursor.getColumnIndexOrThrow(MediaStore.Audio.Playlists._ID));

对于播放列表我使用以下意图:

    Intent playMediaIntent = new Intent(Intent.ACTION_VIEW);
    playMediaIntent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
    playMediaIntent.setType(MediaStore.Audio.Playlists.CONTENT_TYPE);
    playMediaIntent.putExtra("playlist", playlistID);

Google Play音乐应用拦截此功能并成功播放播放列表。

尝试对相册执行相同的操作会给我一个未找到异常的活动:

    Intent playMediaIntent = new Intent(Intent.ACTION_VIEW);
    playMediaIntent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
    //playMediaIntent.setType("vnd.android.cursor.dir/track");
    playMediaIntent.setType(MediaStore.Audio.Albums.CONTENT_TYPE);
    //playMediaIntent.setData(MediaStore.Audio.Media.EXTERNAL_CONTENT_URI);
    playMediaIntent.putExtra("album", albumID);

我知道这些都是未记录的方法,可能会有所变化,但我不想实现我自己的整个媒体播放器,当用户已经选择了他们的最爱....

有人可以建议媒体播放器拦截的任何“标准”代码吗?

或者,有没有办法从专辑(或艺术家)获取所有歌曲,并发送包含一系列轨道URI的数据的意图来播放或排队?

在这张照片上找到了谷歌/ Stackoverflow的深度,并画了一个空白......

请帮忙!我提前谢谢你。

0 个答案:

没有答案