2

当我使用网络服务在流媒体中运行音频播放器时,我收到 IOException

08-19 09:24:54.235: WARN/System.err(394): java.io.IOException: Prepare failed.: status=0x64
08-19 09:24:54.235: WARN/System.err(394):     at android.media.MediaPlayer.prepare(Native Method)
08-19 09:24:54.235: WARN/System.err(394):     at com.sparsh.xavier.media.activity.AudioPlayerActivity$6$1.run(AudioPlayerActivity.java:183)
08-19 09:24:54.295: WARN/System.err(394):     at android.os.Handler.handleCallback(Handler.java:587)
08-19 09:24:54.295: WARN/System.err(394):     at android.os.Handler.dispatchMessage(Handler.java:92)
08-19 09:24:54.295: WARN/System.err(394):     at android.os.Looper.loop(Looper.java:123)
08-19 09:24:54.295: WARN/System.err(394):     at android.app.ActivityThread.main(ActivityThread.java:4627)
08-19 09:24:54.295: WARN/System.err(394):     at java.lang.reflect.Method.invokeNative(Native Method)
08-19 09:24:54.295: WARN/System.err(394):     at java.lang.reflect.Method.invoke(Method.java:521)
08-19 09:24:54.295: WARN/System.err(394):     at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:868)
08-19 09:24:54.295: WARN/System.err(394):     at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:626)
08-19 09:24:54.295: WARN/System.err(394):     at dalvik.system.NativeStart.main(Native Method)
08-19 09:24:55.075: ERROR/AudioService(68): Media server died.

当我使用以下网址时出现上述错误 http://cdnbakmi.kaltura.com/p/672322/sp/67232200/raw/entry_id/0_281db5u2/version/0

但是当我尝试使用示例 url http://www.pocketjourney.com/downloads/pj/tutorials/audio.mp3时执行我的应用程序没有任何错误

我为我的应用程序编写了下面的代码

mediaPlayer.setAudioStreamType(AudioManager.STREAM_MUSIC);
mediaPlayer.reset();
mediaPlayer.setDataSource(audioURL);
mediaPlayer.prepare(); // might take long! (for buffering, etc)
mediaPlayer.start();

请告诉我这是我的编码或提供网址的问题。

提前致谢。

编辑: 我通过使用此代码解决了这个问题

HttpURLConnection conn = (HttpURLConnection) url.openConnection();
conn.setInstanceFollowRedirects(false);
String redirectUrl = conn.getHeaderField("Location");

我使用上面的代码获得了重定向 url。

4

1 回答 1

-1

当它不与一台服务器一起工作(并且为另一台服务器工作)时,这意味着问题出在服务器(响应)而不是您的应用程序中。首先在浏览器中尝试这些链接。

失败的链接正在重定向到另一个实际 MP3 URL 的 URL。因此,您需要连接到 URL 并获取可能包含实际 mp3 URL 的响应。

我认为这会得到新的 URL。

HttpURLConnection urlConnection = (HttpURLConnection) url.openConnection();
 urlConnection.getURL()// should give you the new URL dynamically created by server.
于 2011-08-19T05:35:40.707 回答