2010-01-08 6 views
11

J'essaie de lire une liste de lecture avec le fournisseur de MediaStore. Cependant, quand j'essaie de jouer une playlist, rien ne se passe. Un MediaPlayer peut-il lire une liste de lecture (fichier m3u) et dois-je définir la première piste à jouer?Lire la liste de lecture avec MediaPlayer

Ceci est mon code de test dans la méthode onCreate():

 Uri uri = MediaStore.Audio.Playlists.EXTERNAL_CONTENT_URI; 
    if(uri == null) { 
     Log.e("Uri = null"); 
    } 
    String[] projection = new String[] { MediaStore.Audio.Playlists._ID, MediaStore.Audio.Playlists.NAME, MediaStore.Audio.Playlists.DATA }; 
    Cursor c = managedQuery(uri, projection, null, null, null); 
    if(c == null) { 
     Toast.makeText(getApplicationContext(), R.string.alarm_tone_picker_error, Toast.LENGTH_LONG).show(); 
     return; 
    } 
    if(!c.moveToFirst()) { 
     c.close(); 
     Toast.makeText(getApplicationContext(), R.string.alarm_tone_picker_no_music, Toast.LENGTH_LONG).show(); 
     return; 
    } 
    c.moveToFirst(); 
    try { 
     MediaPlayer player = new MediaPlayer(); 
     player.setDataSource(c.getString(2)); 
     player.start(); 
    } catch(Exception e) { 
     e.printStackTrace(); 
    } 

Je me suis tourné sur chaque flux de volume.

Merci vous,

Kaloer

+0

S'il vous plaît poster la solution que vous avez trouvé ici afin que nous puissions obtenir ses avantages. – MBH

Répondre

4

Je ne pense pas que le lecteur multimédia peut lire une liste. Je pense que ça ne fera que jouer un morceau. Vous devrez suivre les pistes de la liste de lecture et les transmettre au lecteur multimédia. Il pourrait vous aider à vérifier le code source android pour le lecteur de musique et comment il le gère.

+3

Oui, j'ai découvert. J'ai mis tous les URI de la piste dans une liste et les ai joués comme des pistes uniques. Quand une piste était finie, j'ai commencé à jouer le suivant dans la liste. – Kaloer

Questions connexes