2013-09-06 20 views
6

Ich entwickle eine Anwendung, die Radio von Shout Cast spielen muss. Für API habe ich diese URLWiedergabe von Shoutcast URL in Android

Ich bin erfolgreich in eine Station ID mit meiner Entwickler ID.Now in der Abteilung "Wie in eine Station zu tun" haben sie geführt, wie man auf eine bestimmte Station zu tun. Ich bin diesem Abschnitt gefolgt und habe diese URL in meinem Android Media Player verwendet. Aber mein Mediaplayer spielt nichts.

Bitte beachten Sie mein Ziel SDK ist 16 und Min SDK ist 13. Also ich hoffe, Android-Version ist kein Problem. Media-Player funktioniert gut, wenn sich mit anderen URLs wie:

Also ich denke, es gibt kein Problem mit meinem Media-Player. Ich habe den Beitrag, den es in SO gibt, schon durchgespielt. Bitte helfen Sie.

public class MainActivity extends Activity { 

     Button play,pause,stop; 
     private MediaPlayer mediaPlayer; 
     private String out; 
//  private String url = "http://yp.shoutcast.com/sbin/tunein-station.pls?id=175821"; 
//  private String url = "http://www.hrupin.com/wp-content/uploads/mp3/testsong_20_sec.mp3"; 

     private String url1 = "http://streamplus8.leonex.de:14910"; 
     private String url2 ="http://s2.voscast.com:7016/"; 
     private String url3 ="http://s8.voscast.com:7024/"; 
     private String url4 ="http://s8.voscast.com:7020/"; 
     private String url5 ="http://s5.voscast.com:8216/"; 

     private boolean pauseState = false; 
     ProgressDialog pd; 

     @Override 
     protected void onCreate(Bundle savedInstanceState) { 
       super.onCreate(savedInstanceState); 
       setContentView(R.layout.activity_main); 

       pd = new ProgressDialog(this); 
       pd.setMessage("Loading your song...."); 
       play = (Button)findViewById(R.id.btn_play); 
       pause = (Button)findViewById(R.id.btn_pause); 
       stop = (Button)findViewById(R.id.btn_stop); 

       mediaPlayer = new MediaPlayer(); 
       this.setVolumeControlStream(AudioManager.STREAM_MUSIC); 
      try { 
       mediaPlayer.setAudioStreamType(AudioManager.STREAM_MUSIC); 
       mediaPlayer.setDataSource(url2); 
       mediaPlayer.prepareAsync(); 
      } catch (Exception e) { 
       Toast.makeText(getApplicationContext(), "Please check your connection!", Toast.LENGTH_LONG).show(); 
       e.printStackTrace(); 
      } 

      play.setOnClickListener(new OnClickListener() {      
         @Override 
         public void onClick(View arg0) { 

           if(pauseState == true) { 
        mediaPlayer.start(); 
       } else { 
         pd.show(); 
        mediaPlayer.setOnPreparedListener(new OnPreparedListener() { 
         @Override 
         public void onPrepared(MediaPlayer mp) { 
          mediaPlayer.start(); 
          if(mediaPlayer.isPlaying()){ 
           pd.dismiss(); 
          } 
         } 
        }); 
       } 
           pauseState = false;        
         } 
       }); 
      pause.setOnClickListener(new OnClickListener() {     
         @Override 
         public void onClick(View arg0) { 
           mediaPlayer.pause(); 
           pauseState = true;        
         } 
       }); 
      stop.setOnClickListener(new OnClickListener() {      
         @Override 
         public void onClick(View arg0) { 
           mediaPlayer.stop(); 
//        mediaPlayer.release(); 
         } 
       }); 


     } 

} 

Antwort

4

Ok. Gut, ich habe es endlich selbst herausgefunden. Tatsächlich, wenn ich dieses Url treffe, wird eine .pls Datei heruntergeladen. Für den Inhalt der .pls-Datei ist so etwas wie dies

[playlist] 
numberofentries=1 
File1=http://203.150.225.71:8000 
Title1=(#1 - 10866/10000) COOLfahrenheit 93 
Length1=-1 
Version=2 

Ich habe diese Datei zu lesen und dann diese Datei analysiert, um die tatsächlichen URL.Here zu treten ist

http://203.150.225.71:8000 

Android-Media-Player ist in der Lage Spiele diese URL ab.

+0

Hallo, ich möchte Shoutcast API in meinem Android implementieren und ich benutze diesen Link http://wiki.winamp.com/wiki/SHOUTcast_Radio_Directory_API, aber ich weiß nicht, wie man k = [Ihre Dev ID] für die Verwendung dieser API in meiner App. –

+0

müssen Sie sich registrieren, um die Geräte-ID –

+0

ich dies die URL nicht in Datei bekam bekommen ‚[Playlist] Number = 0 Version = 2‘ Wie sollte ich es bekommen? –

1

Ich möchte nicht herunterladen. Pls-Datei, so dass ich andere Lösung finden. Endlich habe ich eine einfache Shoutcast Streaming App bekommen. Versuchen Sie this. Ändern Sie einfach die Streaming-URL in StreamService.java.

+0

Sie haben die gleiche URL auch in der Datei verwendet: O –

+0

Was meinst du? In StreamService.java ändern Sie einfach Ihre URL in String url = "http://176.31.115.196:8214/"; Sie müssen die URL für die Mediaplayer-Datenquelle festlegen. Dieses Beispielprojekt wird mit Ihrer Stream-URL ausgeführt. –

+0

_176.31.115.196: 8214_ Ist das nicht die URL, die wir erhalten, nachdem wir die Datei heruntergeladen und gelesen haben? –