2013-09-06 11 views
6

に私がシャウトキャストからラジオを再生する必要があるアプリケーションを開発しています。 APIのために、私は、彼らがどのように特定のステーションにチューニングに案内しております「どのようにするにはステーションにチューン」セクションで、私の開発者ID.NowとステーションIDを得ることに成功しています。このURLプレイは、Android

を追っています。私はそのセクションに従って、このURLを私のアンドロイドメディアプレーヤーで使用しました。しかし、私のメディアプレーヤーは何もしません。

SDKが16であるとMin SDKは13である。だから私はアンドロイドのバージョンは問題ではありません願って、私の目標に注意してください。

だから私は私のメディアプレーヤーとは問題がないと思います。同様に、他のURLを使用していた場合 メディアプレーヤーが正常に動作します。私はすでに利用可能な投稿を既に見てきました。助けてください。

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(); 
         } 
       }); 


     } 

} 

答えて

4

うん、私は最終的に自分自身を考え出した。実際に私がこのUrlを打つと、1つの.plsファイルがダウンロードされています。 .PLSファイルの内容は、私はこのファイルを読み、実際のURL.Hereそれを得るために、このファイルを解析する必要があり、この

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

のようなものである

http://203.150.225.71:8000 

のAndroidメディアプレーヤーのことができるようですこのURLを再生します。

+0

こんにちは、私は私のアンドロイドでShoutcastはAPIを実装したいと私はhttp://wiki.winamp.com/wiki/SHOUTcast_Radio_Directory_APIこのリンクを使用しますが、私は使用するため= [あなたのDev ID] Kを取得する方法このAPIを知りません私のアプリで。 –

+0

私は どのように私はそれを取得する必要がありますURL 「= 2 [プレイリスト] numberofentries = 0 バージョン」ファイルでこれを持っていないデバイスID –

+0

を得るために自分自身を登録する必要がありますか? –

1

私は私が他の解決策を見つけるように.PLSファイルをダウンロードする必要はありません。 最後に、私は簡単なshoutcastストリーミングアプリを手に入れました。 お試しくださいthisストリーミングURLを変更するだけです。StreamService.java

+0

あなたもそこにファイル内の同じURLを使用している:O –

+0

あなたは何を意味するのですか? StreamService.javaでは、URLをString url = "http://176.31.115.196:8214/"に変更するだけです。メディアプレーヤーのデータソースにURLを設定する必要があります。そのサンプルプロジェクトはあなたのストリームurlで実行されます。 –

+0

_176.31.115.196:8214_ファイルをダウンロードして読み込んだ後に、このURLが表示されますか? –