我想制作无线电播放器示例,但我有一些错误。我无法解决它。
我的源代码
String url = ""; //Shoutcast Radio URL
mp = new MediaPlayer();
mp.setAudioStreamType(AudioManager.STREAM_MUSIC);
try {
mp.setDataSource(url);
mp.prepare();
} catch (IllegalArgumentException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (SecurityException e) {
// TODO Auto-generated catch block
Log.e(TAG, "SecurityException");
} catch (IllegalStateException e) {
// TODO Auto-generated catch block
Log.e(TAG, "IllegalStateException");
} catch (IOException e) {
// TODO Auto-generated catch block
Log.e(TAG, "IOException");
}
我的错误(Logcat)
E/MediaPlayer﹕ Should have subtitle controller already set
W/MediaPlayer﹕ info/warning (703, 203)
W/MediaPlayer﹕ info/warning (701, 0)
W/MediaPlayer﹕ info/warning (702, 0)
W/MediaPlayer﹕ info/warning (702, 0)
答案 0 :(得分:1)
“应该有字幕控制器已经设置”文本只是一个警告而不是错误。它引用了Android Kitkat 4.4中MediaPlayer的新实现(它们为视频添加了字幕功能,但出于某种原因,即使媒体只是音频,它也会尝试使用字幕)。
所以你可以忽略那个警告。
如果没有播放,您可以尝试在 mp.prepare(); 之后使用 mp.start(); :
mp.setOnPreparedListener(new MediaPlayer.OnPreparedListener() {
@Override
public void onPrepared(MediaPlayer mediaPlayer) {
mp.start();
}
});
答案 1 :(得分:0)
遇到同样的问题,显然我们无法按照以下方式解决问题:
http://www.piterwilson.com/blog/2014/03/11/android-mediaplayer-not-quite-there-yet/