2012-03-17 55 views
0

我想加载到audiomanager shoutcast实时流,但我有一个问题,它适用于wildfire 2.2 oficial,wildfire 2.3扎根,模拟器w/2.2和不适用于optimus黑2.2 oficial和x10 mini pro 2.1官方。这是一个mediaplayer的bug或什么?android audiomanager错误?

代码很简单:

MediaPlayer mediaPlayer = new MediaPlayer(); 
mediaPlayer.setAudioStreamType(AudioManager.STREAM_MUSIC); 
mediaPlayer.setDataSource("http://150.214.174.129:8000/"); 
mediaPlayer.prepare(); 
mediaPlayer.start();  

logcat的时候不工作:

03-18 00:28:05.371: W/AudioSystem(3345): AudioFlinger server died! 
03-18 00:28:05.371: W/IMediaDeathNotifier(3345): media server died 
03-18 00:28:05.371: E/MediaPlayer(3345): error (100, 0) 
03-18 00:28:05.379: W/System.err(3345): java.io.IOException: Prepare failed.: status=0x64 
03-18 00:28:05.379: W/System.err(3345):  at android.media.MediaPlayer.prepare(Native Method) 
03-18 00:28:05.379: W/System.err(3345):  at es.radio.onCreate(pruebaradio.java:77) 
03-18 00:28:05.379: W/System.err(3345):  at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1047) 
03-18 00:28:05.379: W/System.err(3345):  at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2627) 
03-18 00:28:05.379: W/System.err(3345):  at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2679) 
03-18 00:28:05.379: W/System.err(3345):  at android.app.ActivityThread.access$2300(ActivityThread.java:125) 
03-18 00:28:05.379: W/System.err(3345):  at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2033) 
03-18 00:28:05.379: W/System.err(3345):  at android.os.Handler.dispatchMessage(Handler.java:99) 
03-18 00:28:05.379: W/System.err(3345):  at android.os.Looper.loop(Looper.java:123) 
03-18 00:28:05.379: W/System.err(3345):  at android.app.ActivityThread.main(ActivityThread.java:4627) 
03-18 00:28:05.379: W/System.err(3345):  at java.lang.reflect.Method.invokeNative(Native Method) 
03-18 00:28:05.379: W/System.err(3345):  at java.lang.reflect.Method.invoke(Method.java:521) 
03-18 00:28:05.379: W/System.err(3345):  at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:876) 
03-18 00:28:05.379: W/System.err(3345):  at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:634) 
03-18 00:28:05.379: W/System.err(3345):  at dalvik.system.NativeStart.main(Native Method) 
03-18 00:28:05.379: E/MediaPlayer(3345): start called in state 0 
03-18 00:28:05.379: E/MediaPlayer(3345): error (-38, 0) 
03-18 00:28:05.402: E/MediaPlayerJAVA(3345): Error (-38,0) 
03-18 00:28:05.402: D/MediaPlayerJAVA(3345): Info (-38,0) 

回答

0

你可以尝试,如果这是任何更好,但我想这是关系到这仅仅是无法播放的文件类型的硬件

MediaPlayer mediaPlayer = new MediaPlayer(); 
mediaPlayer.setAudioStreamType(AudioManager.STREAM_MUSIC); 
mediaPlayer.setDataSource("http://150.214.174.129:8000/"); 
mediaPlayer.prepareAsync(); 
mediaPlayer.setOnPreparedListener(new MediaPlayer.OnPreparedListener() { 
    @Override 
    public void onPrepared(MediaPlayer mp) { 
     mp.start(); 
    } 
}); 
+0

这是行不通的。我在tunein收音机试过了一些电台,我想任何一个电台都可以,而且它们的工作完美。所以我不知道... :( – 2012-03-18 02:25:03

+0

@Alexx,我在某些手机上遇到同样的问题。如果您的解决方案可以请分享 – png 2012-06-14 05:42:55

+0

http://code.google.com/p/mynpr/ – 2012-06-18 13:46:00