1

次のコードがあります

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();
    }
}

URL は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 の両方のデバイスで同じコード/設定をビルドしてデバッグするだけです。

だから問題は何ですか?

4

1 に答える 1