我正在尝试使用Android的MediaPlayer创建一个音频流播放器。如果它不能在Android 2.1或更低版本中使用也无妨。我需要能够播放来自SHOUTcast流的音频文件。以下是我的代码:
player = new MediaPlayer();
try {
player.setDataSource("http://87.230.103.107:8000");
player.prepareAsync();
} catch (IllegalArgumentException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IllegalStateException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
player.start();
由于某些原因,这段代码没有任何作用。我认为这可能与应用程序权限有关。有人知道发生了什么吗?
谢谢!
[更新] 我收到了以下错误消息:
04-25 23:35:15.432: ERROR/MediaPlayer(283): start called in state 4
04-25 23:35:15.432: ERROR/MediaPlayer(283): error (-38, 0)
04-25 23:35:15.602: ERROR/MediaPlayer(283): Error (-38,0)
04-25 23:35:17.542: INFO/AwesomePlayer(33): calling prefetcher->prepare()
04-25 23:35:18.547: INFO/Prefetcher(33): [0x17650] cache below low water mark, filling cache.
04-25 23:35:18.762: INFO/AwesomePlayer(33): prefetcher is done preparing
04-25 23:35:19.769: ERROR/AwesomePlayer(33): Not sending buffering status because duration is unknown.
http://87.230.103.107:8000/;
。如果它能正常工作,那就意味着您的用户代理是 Mozilla,这会导致 SHOUTcast 服务器返回管理员界面而不是流。分号强制其返回流。 - Brad