Fer*_*nte 6 audio mp3 android shoutcast media-player
我正在尝试用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();
Run Code Online (Sandbox Code Playgroud)
出于某种原因,此代码将不会播放任何内容.我认为它可能与应用程序权限有关.有谁知道发生了什么?
谢谢!
[更新]我收到以下错误:
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.
Run Code Online (Sandbox Code Playgroud)
对于迟到的回复感到抱歉,在寻找另一个问题的答案时遇到了这个问题.
如果你仍然需要一个答案,那么你start()
正在准备它时正在打电话.PrepareAsync()
不像马上回来的那样prepare()
.在流中使用'prepare()`的问题是它会阻塞,直到它有足够的数据来开始播放.
你想要做的是设置一个OnPreparedListener
,然后start()
从那里进行调用.
归档时间: |
|
查看次数: |
8590 次 |
最近记录: |