嘿,我正在使用MediaPlayer播放普通的ShoutCast流。代码很简单,使用prepareAsync()和处理程序开始播放。虽然对于一些流如DI.FM或ETN.FM(http://u10.di.fm:80/di_progressive)它可以无缝工作,但对于其他流(http://mp3.wpsu.org:8000/)它却无法超过准备状态。也没有调用其他监听器。
//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();
感谢您的反馈!
adb logcat
、DDMS或Eclipse中的DDMS视图来检查LogCat并查找可能引发的任何警告。 - CommonsWare