2011-08-19 126 views
2

當我使用web服務我收到IOException異常的Android產生java.io.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. 

我上面的錯誤,當我使用的URL下運行的流audioplayer 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解決這個問題。

回答

-1

當它沒有與一臺服務器(併爲另一臺服務器)工作時,這意味着問題與服務器(響應),而不是在您的應用程序。首先在瀏覽器中嘗試這些鏈接。

失敗的鏈接重定向到另一個實際的mp3網址。 所以你需要連接到網址,並得到可能包含實際的mp3網址的響應。

我認爲這會得到新的url。

HttpURLConnection urlConnection = (HttpURLConnection) url.openConnection(); 
urlConnection.getURL()// should give u the new url dynamically created by server. 
+0

感謝您的回覆。我在瀏覽器中檢查了兩個網址,並且都在瀏覽器中提供了適當的可下載鏈接。 –

+0

編輯了我的答案。我不知道重定向如何工作。但希望有助於解決您的問題。 – Ronnie

+0

有沒有辦法獲得重定向url? –