2011-07-19 99 views
0

这里是我正在处理的代码....我已经下载了文件,它是成功的。安卓mediaplayer错误准备()

try { 
       mediaPlayer.setDataSource(f.getAbsolutePath()); 
      } catch (IllegalArgumentException e) { 
       // TODO Auto-generated catch block 
       Log.e ("Fail", "File not Available !!"); 
       e.printStackTrace(); 
      } catch (IllegalStateException e) { 
       // TODO Auto-generated catch block 
       Log.e ("Fail", "File not Available !!"); 
       e.printStackTrace(); 
      } catch (IOException e) { 
       // TODO Auto-generated catch block 
       Log.e ("Fail", "File not Available !!"); 
       e.printStackTrace(); 
      } 
      Log.i ("Success !!", "File ready to be played !!"); 
      try { 
       mediaPlayer.prepare(); 
      } catch (IllegalStateException e) { 
       Log.e ("Fail", "Fail to play"); 
       // TODO Auto-generated catch block 
       e.printStackTrace(); 
      } catch (IOException e) { 
       Log.e ("Fail", "Fail to play"); 
       // TODO Auto-generated catch block 
       e.printStackTrace(); 
      } 
      mediaPlayer.start(); 
      Log.i ("Success !!", "MediaPlayer is playing = " + mediaPlayer.isPlaying()); 

但是,当我尝试设置prepare()时出错; 这里是我的logcat:

07-20 10:40:12.387: INFO/ActivityManager(581): Starting activity: Intent { cmp=com.radio.streamingradio/.Tune_in } 
07-20 10:40:14.148: INFO/ActivityManager(581): Displayed activity com.radio.streamingradio/.Tune_in: 1326 ms (total 1326 ms) 
07-20 10:40:15.477: INFO/Success !(798): URL is available 
07-20 10:40:16.047: INFO/Success !(798): Connected ! 
07-20 10:40:16.197: INFO/Success !(798): Stream Acquired ! 
07-20 10:40:16.217: INFO/Success !(798): Media will be saved to/data/data/com.radio.streamingradio/cache/media.m3u 
07-20 10:40:16.227: INFO/Info(798): Downloading...... 
07-20 10:40:17.277: INFO/Info(798): Download complete ! 
07-20 10:40:17.667: INFO/Success !!(798): File ready to be played !! 
07-20 10:40:17.703: ERROR/PlayerDriver(554): Command PLAYER_SET_DATA_SOURCE completed with an error or info PVMFErrNotSupported 
07-20 10:40:17.707: ERROR/MediaPlayer(798): error (1, -4) 
07-20 10:40:17.707: ERROR/Fail(798): Fail to play 
07-20 10:40:17.717: WARN/System.err(798): java.io.IOException: Prepare failed.: status=0x1 
07-20 10:40:17.767: WARN/PlayerDriver(554): PVMFInfoErrorHandlingComplete 
07-20 10:40:17.787: WARN/System.err(798):  at android.media.MediaPlayer.prepare(Native Method) 
07-20 10:40:17.797: WARN/System.err(798):  at com.radio.streamingradio.M3UPlayer.playMedia(M3UPlayer.java:103) 
07-20 10:40:17.797: WARN/System.err(798):  at com.radio.streamingradio.Tune_in.onClick(Tune_in.java:40) 
07-20 10:40:17.807: WARN/System.err(798):  at android.view.View.performClick(View.java:2344) 
07-20 10:40:17.822: WARN/System.err(798):  at android.view.View.onTouchEvent(View.java:4133) 
07-20 10:40:17.837: WARN/System.err(798):  at android.widget.TextView.onTouchEvent(TextView.java:6504) 
07-20 10:40:17.837: WARN/System.err(798):  at android.view.View.dispatchTouchEvent(View.java:3672) 
07-20 10:40:17.847: WARN/System.err(798):  at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:882) 
07-20 10:40:17.860: WARN/System.err(798):  at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:882) 
07-20 10:40:17.860: WARN/System.err(798):  at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:882) 
07-20 10:40:17.860: WARN/System.err(798):  at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:882) 
07-20 10:40:17.860: WARN/System.err(798):  at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:882) 
07-20 10:40:17.867: WARN/System.err(798):  at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:882) 
07-20 10:40:17.867: WARN/System.err(798):  at com.android.internal.policy.impl.PhoneWindow$DecorView.superDispatchTouchEvent(PhoneWindow.java:1712) 
07-20 10:40:17.867: WARN/System.err(798):  at com.android.internal.policy.impl.PhoneWindow.superDispatchTouchEvent(PhoneWindow.java:1202) 
07-20 10:40:17.877: WARN/System.err(798):  at android.app.Activity.dispatchTouchEvent(Activity.java:1987) 
07-20 10:40:17.887: WARN/System.err(798):  at com.android.internal.policy.impl.PhoneWindow$DecorView.dispatchTouchEvent(PhoneWindow.java:1696) 
07-20 10:40:17.907: WARN/System.err(798):  at android.view.ViewRoot.handleMessage(ViewRoot.java:1658) 
07-20 10:40:17.907: WARN/System.err(798):  at android.os.Handler.dispatchMessage(Handler.java:99) 
07-20 10:40:17.907: WARN/System.err(798):  at android.os.Looper.loop(Looper.java:123) 
07-20 10:40:17.917: WARN/System.err(798):  at android.app.ActivityThread.main(ActivityThread.java:4203) 
07-20 10:40:17.917: WARN/System.err(798):  at java.lang.reflect.Method.invokeNative(Native Method) 
07-20 10:40:17.940: WARN/System.err(798):  at java.lang.reflect.Method.invoke(Method.java:521) 
07-20 10:40:17.987: WARN/System.err(798):  at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:791) 
07-20 10:40:17.987: WARN/System.err(798):  at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:549) 
07-20 10:40:17.987: WARN/System.err(798):  at dalvik.system.NativeStart.main(Native Method) 
07-20 10:40:17.987: ERROR/MediaPlayer(798): start called in state 0 
07-20 10:40:17.987: ERROR/MediaPlayer(798): error (-38, 0) 
07-20 10:40:17.997: INFO/Success !!(798): MediaPlayer is playing = false 
07-20 10:40:18.074: ERROR/MediaPlayer(798): Error (-38,0) 

请帮助... THX

+0

你想播放MP3播放列表(.m3u)文件吗? –

+0

是啊...但是,声音不出来 – Jason

回答

1

Android不支持MP3播放列表(.m3u file的播放)。 M3U文件是包含列表中的Mp3文件的URL的文本文件。不过,Android支持播放其他格式的MP3文件。支持的文件格式全部列表出现在http://developer.android.com/guide/appendix/media-formats.html.

要播放MP3的播放列表,一种选择是下载M3U文件,而无需使用的MediaPlayer,解析它来获得URL到MP3文件,然后给媒体播放器的网址MP3文件。

+0

我试过你的方式,但在m3u文件里面,没有.mp3扩展名文件,也没有任何音频文件的URL .......我应该玩吗? – Jason

+0

你的M3U文件包含什么?内容是否与http://en.wikipedia.org/wiki/M3U –

+0

中的解释类似,不像维基百科中的文件。我的m3u文件只包含http://cast.idvps.com:8000/djwirya。没有音频文件扩展名。但是,当我使用Windows媒体播放器,它播放....不知道发生了什么 – Jason