2011-11-26 1 views

Répondre

12

Une recherche rapide a donné lieu à cette PlsParser très basique de l'application NPR que, par l'apparence de celui-ci, simplement analyser le fichier .pls et retourner toutes les URL intégrées dans une liste de chaînes. Vous voudrez probablement jeter un coup d'oeil à cela comme point de départ. Après cela, vous devriez être en mesure de fournir l'URL à un objet MediaPlayer, bien que je ne sois pas complètement sûr de quels formats/protocoles sont supportés, ou quelles sont les limitations qui peuvent s'appliquer dans le cas du streaming. La séquence des appels du lecteur multimédia ressemblera à ceci.

MediaPlayer mp = new MediaPlayer(); 
mp.setDataSource("http://stream.radiosai.net:8002/"); 
mp.setAudioStreamType(AudioManager.STREAM_MUSIC); 
mp.prepare(); //also consider mp.prepareAsync(). 
mp.start(); 

Mise à jour: Pour autant que je peux dire, vous pouvez prendre presque littéralement le code référencé et mettre votre propre usage. Notez que le code ci-dessous n'est en aucun cas complet ou testé.

public class PlsParser { 
     private final BufferedReader reader; 

     public PlsParser(String url) { 
      URLConnection urlConnection = new URL(url).openConnection(); 
      this.reader = new BufferedReader(new InputStreamReader(urlConnection.getInputStream())); 
     } 

     public List<String> getUrls() { 
      LinkedList<String> urls = new LinkedList<String>(); 
      while (true) { 
       try { 
        String line = reader.readLine(); 
        if (line == null) { 
         break; 
        } 
        String url = parseLine(line); 
        if (url != null && !url.equals("")) { 
         urls.add(url); 
        } 
       } catch (IOException e) { 
        e.printStackTrace(); 
       } 
      } 
      return urls; 
     } 

     private String parseLine(String line) { 
      if (line == null) { 
       return null; 
      } 
      String trimmed = line.trim(); 
      if (trimmed.indexOf("http") >= 0) { 
       return trimmed.substring(trimmed.indexOf("http")); 
      } 
      return ""; 
     } 
} 

Une fois que vous avez, vous pouvez simplement créer une nouvelle PlsParser avec l'URL du fichier .pls et appelez getUrls après. Chaque élément de la liste sera une URL telle que trouvée dans le fichier .pls. Dans votre cas, ce sera juste http://stream.radiosai.net:8002/. Comme indiqué, vous pouvez ensuite envoyer ceci au MediaPlayer.

+1

@ pouvez-vous me dire comment analyser ce contenu ... n'importe quel code – user1048958

+0

Je ne suis pas sûr de quelle partie vous avez des problèmes avec? J'ai ajouté du code lié à l'analyse réelle pour vous aider à démarrer. Si ce n'est pas ce que vous cherchez, veuillez en dire un peu plus sur ce que vous essayez d'accomplir. –

Questions connexes