Java 如何在android上播放soundcloud streams?

Java 如何在android上播放soundcloud streams?,java,android,streaming,soundcloud,Java,Android,Streaming,Soundcloud,我正在使用MediaPlayer文档中的代码 String url = "http://........"; // your URL here MediaPlayer mediaPlayer = new MediaPlayer(); mediaPlayer.setAudioStreamType(AudioManager.STREAM_MUSIC); mediaPlayer.setDataSource(url); mediaPlayer.prepare(); // might take long!

我正在使用MediaPlayer文档中的代码

String url = "http://........"; // your URL here
MediaPlayer mediaPlayer = new MediaPlayer();
mediaPlayer.setAudioStreamType(AudioManager.STREAM_MUSIC);
mediaPlayer.setDataSource(url);
mediaPlayer.prepare(); // might take long! (for buffering, etc)
mediaPlayer.start();
soundcloud mp3的路径是这样的

https://api.soundcloud.com/tracks/41262720/stream?consumer_key=XXXXXX
在预操作行中,我有这个错误

prepare failed. status=0x1
我用另一个来源测试它,结果很好

http://www.colorado.edu/AmStudies/lewis/Design/blue.mp3
soundcloud源有什么问题?我需要媒体播放器的额外配置吗


注意:我将emulator与2.2 SDK一起使用,媒体播放器(至少是旧版本)在https URL方面存在问题。您需要手动解析url(发出GET请求并检查重定向),然后将结果提供给MediaPlayer。不过,MediaPlayer还有很多其他问题,要让它正常工作并不容易。

尝试使用
OnPreparedListener()
-在
prepare
之后立即调用
start
对于网络流来说不是一个好主意。prepare()函数并不简单。所以它会锁定程序直到它准备好。还有另一个prepare函数,名为prepareAsync()。我使用了这两种方法,但都有相同的错误。对不起,我在考虑
prepareAsync()
-我的错误。我知道你现在已经找到了答案。我会检查定向url@jan。你能给我建议除MediaPlayer之外的其他库吗?你有没有用过这个?我试图做同样的事情,但我想不出来out@syloc:没有内置的替代方案-您可以编写自己的播放器,但Java无法提供一些解码功能,只有最新版本的Android支持编程mp3解码。有人有幸做到这一点吗?我从Soundcloud获得了重定向URL,它在浏览器中工作时是正确的URL,但在传递给MediaPlayer时仍然不工作。