我有以下代码
import android.media.AudioManager;
import android.media.MediaPlayer;
import android.media.MediaPlayer.OnErrorListener;
import android.media.MediaPlayer.OnPreparedListener;
....
mediaPlayer.setDataSource(url);
mediaPlayer.setAudioStreamType(AudioManager.STREAM_MUSIC);
mediaPlayer.prepareAsync();
mediaPlayer.setOnPreparedListener(new OnPreparedListener() {
public void onPrepared(MediaPlayer mp) {
mediaPlayer.start();
}
}
网址是http://currentstream1.publicradio.org:80/
这在 android 2.2/2.3 OS 系列中完美运行。
但在 android 4.0.3 和 4.1 中我得到以下异常
Exception in streaming mediaplayer e = java.io.IOException: setDataSource failed.: status=0x80000000
java.io.IOException: setDataSource failed.: status=0x80000000
at android.media.MediaPlayer._setDataSource(Native Method)
at android.media.MediaPlayer.setDataSource(MediaPlayer.java:958)
at android.media.MediaPlayer.setDataSource(MediaPlayer.java:918)
at com.cricbuzz.sample.audio.MainActivity.playOnClickListener(MainActivity.java:116)
at java.lang.reflect.Method.invokeNative(Native Method)
at java.lang.reflect.Method.invoke(Method.java:511)
我没有更改任何库,我只是为 2.2 和 4.0.3 设备构建和调试相同的代码/设置。
那么问题是什么?