嘿,我正在使用 MediaPlayer 播放常规的 ShoutCast 流。代码很简单,使用 prepareAsync() 和一个开始播放的处理程序。虽然它与 DI.FM 或 ETN.FM (http://u10.di.fm:80/di_progressive) 等某些流完美配合,但与其他流 (http://mp3.wpsu.org:8000/) 配合使用则不会t 超过准备状态。也没有调用其他侦听器。
//Uri streamUri = Uri.parse("http://u10.di.fm:80/di_progressive"); /* works */
Uri streamUri = Uri.parse("http://mp3.wpsu.org:8000/"); /* stuck on prepare state */
MediaPlayer mediaPlayer = new MediaPlayer();
mediaPlayer.setOnPreparedListener(new OnPreparedListener() {
public void onPrepared(MediaPlayer mp) {
mp.start();
}
});
mediaPlayer.setAudioStreamType(AudioManager.STREAM_MUSIC);
mediaPlayer.setDataSource(this.getBaseContext(), streamUri);
mediaPlayer.prepareAsync();
任何反馈表示赞赏!