シャウトキャストからラジオを再生する必要があるアプリケーションを開発しています。APIについては、このURLに従いました
開発者 ID を使用してステーション ID を取得することに成功しました。「ステーションにチューニングする方法」セクションで、特定のステーションにチューニングする方法を説明しました。私はそのセクションに従い 、Android メディア プレーヤーでこのURLを使用しました。しかし、私のメディアプレーヤーは何も再生しません。
私のターゲット SDK は 16 で、最小 SDK は 13 であることに注意してください。したがって、Android バージョンが問題にならないことを願っています。次のような他の URL を使用している場合、メディア プレーヤーは正常に動作します。
したがって、メディアプレーヤーに問題はないと思います。SOで利用可能な投稿をすでに確認しました。助けてください。
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();
}
});
}
}