我的应用程序除了其他功能外,还通过SoundCloud流式传输歌曲剪辑。它在过去几周一直很好用,但昨晚,在我的MediaPlayer的prepare()方法中,它开始出现错误(1,-1004),这非常奇怪,因为我仍然可以玩我在桌面浏览器中获得的流。 SoundCloud上最近有什么东西可以破坏它吗?
这是我的代码片段,我用它来确认这是一个问题:
String url = replacementUrlEdit.getText().toString();
try {
mediaPlayer.setDataSource(url);
} catch (IOException e) {
showInfoPopup("exception preparing: " + e);
e.printStackTrace();
}
mediaPlayer.setOnPreparedListener(new MediaPlayer.OnPreparedListener() {
@Override
public void onPrepared(MediaPlayer mp) {
mp.start();
}
});
mediaPlayer.prepareAsync();
非常标准的东西。我最终传递给MediaPlayer的网址是重定向的流网址,格式为https://ec-media.soundcloud.com/XXXXXXXXXX.128.mp3?xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx&AWSAccessKeyId=xxxxxxxxxxxxxxxxxxxxxxxx&Expires=1406322087&Signature=xxxxxxxxxxxxxxxxxx%3D
我得到的错误是:
07-25 16:56:29.801 4425-4696/com.example E/MediaPlayer﹕ error (1, -1004)
07-25 16:56:29.861 4425-4425/com.example E/MediaPlayer﹕ Error (1,-1004)
我也尝试过同步准备,在这种情况下,我得到一个错误0x1的IOException。
我该如何解决这个问题?