android mediaplayer中的异常0x80000000仅适用于android 4.1

时间:2012-11-26 12:11:09

标签: android android-mediaplayer

我有以下代码

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设备构建和调试相同的代码/设置。

那么问题是什么?

1 个答案:

答案 0 :(得分:2)

不要忘记许可

<uses-permission android:name="android.permission.INTERNET" />