2013-09-06 19 views
6

Shout cast radyo dinlemesi gereken bir uygulama geliştiriyorum. API için bu URLShoutcast Url uygulamasından android oyununa başla

Ben bölümünde benim geliştirici ID.Now ile bir istasyon kimliğini öğrenip başarılıyım "Nasıl bir vericiyi ayarlayabilirsiniz" onlar rehberlik etmiş izlemiştir nasıl belli istasyonuna ayarlamak için. Bu bölümü takip ettim ve android medya oynatıcımda bu URL'u kullandım. Ama medya oynatıcım hiçbir şey oynamıyor.

Hedef SDK'nın 16 ve Min SDK'nın 13 olduğunu lütfen unutmayın. Bu yüzden Android sürümünün sorun olmadığını umuyorum.

Yani benim medya oynatıcı ile hiçbir sorun yoktur sanırım: isem Medya oynatıcı gibi diğer URL'ler kullanarak çalışıyor. SO'da bulunan gönderiyi çoktan geçtim. Lütfen yardım et.

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


     } 

} 

cevap

4

Tamam. Sonunda kendimi çözdüm. Aslında bu Url'u vurduğumda bir .pls dosyası indiriliyor. .pls dosyanın içeriği bunu

http://203.150.225.71:8000 

Android medya oynatıcı gerçek URL.Here almak için bu dosyayı okur ve sonra bu dosyayı ayrıştırmak zorunda bu

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

gibi bir şey yapabiliyor bu URL'yi çal.

+0

Merhaba, androidimde shoutcast api uygulamak istiyorum ve bu bağlantıyı http://wiki.winamp.com/wiki/SHOUTcast_Radio_Directory_API kullanarak kullanıyorum ama k = [Your Dev ID] 'yi nasıl kullanacağımı bilmiyorum benim uygulamamda. –

+0

ben dosyasında bu var cihaz kimliği –

+0

değil url '[çalma listesi] numberofentries = 0 Sürüm = 2' Ben nasıl almalısınız almak için kayıt yaptırmak zorunda? –

1

Başka bir çözüm bulabilmek için .pls dosyasını indirmek istemiyorum. Son olarak, basit shoutcast akış uygulaması var. this'u deneyin. Sadece URL'yi StreamService.java'da değiştirin.

+0

Aynı dosyanın içindeki dosyayı da kullandınız: O –

+0

Ne demek istiyorsunuz? StreamService.java'da, sadece URL'nizi String url = "http://176.31.115.196:8214/" olarak değiştirirsiniz; url'yi mediaplayer veri kaynağına ayarlamanız gerekir. Bu örnek proje akış URL'nizle çalışacaktır. –

+0

_176.31.115.196: 8214_ Dosyayı indirdikten ve okuduktan sonra aldığımız url değil mi? –

İlgili konular