2

URL からのオーディオの再生に問題があります。つまり、次の 2 つの例外が発生します。

E/MediaPlayer(3387): error (1, -2147483648)
E/MediaPlayer(3387): Error (1,-2147483648)

私のコードでは、MediaPlayer オブジェクトと文字列を URL で宣言します。

MediaPlayer mMediaPlayer;
String url ="http://ciacho090.wrzuta.pl/audio/31h2JLMRCE7/eminem_soldier.mp3";

MainActivity では、デフォルトのコンストラクターで mMediaPlayer を初期化し、ストリーム タイプを設定します。

mMediaPlayer = new MediaPlayer();
mMediaPlayer.setAudioStreamType(AudioManager.STREAM_MUSIC);

次に、URL にソースを設定し、次のコードで可能性のある例外をキャッチする非同期準備を要求します。

try
        {
            mMediaPlayer.setDataSource(url);
            mMediaPlayer.prepareAsync();
        }
        catch(IOException e)
        {
            e.printStackTrace();
        }
        catch (IllegalArgumentException e) 
        {
            e.printStackTrace();
                }
        catch (IllegalStateException e) 
        {
            e.printStackTrace();
        }

最後に onPreparedListener を設定しました:

mMediaPlayer.setOnPreparedListener(new MediaPlayer.OnPreparedListener() 
        {

            @Override
            public void onPrepared(MediaPlayer mp) 
            {
                mp.start();
            }
        });

例外を超えてしまい、音楽が再生されません。マニフェストで、これらの権限と最小 SDK バージョンを 8 に宣言しました

<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.WAKE_LOCK" /> //i know- it's unneccesary

マニフェストの設定が問題の原因であるか、音楽ファイルへの URL リンクである可能性があります。プログレッシブダウンロードができるかどうかはわかりません。多分あなたは私にいくつかのリンクを与えることができますか?そして、なぜそれが機能しないのですか?

4

1 に答える 1