2

私はこのコードを持っています:

    try
        {
            mMusicPlayer.reset();
            FileInputStream fis = new FileInputStream(pathToTitleFile);
            mMusicPlayer.setDataSource(fis.getFD());
            mMusicPlayer.prepareAsync();
        }
        catch (Exception e){}

曲をスキップすると、2 つの Error/error(-38,0) が発生することがあります。デバッグしたところ、次のコード セクションでエラーがスローされました。reset() 呼び出し後のエラー (-38,0)。prepareAsync() 呼び出し後のエラー (-38,0)。この後、プレーヤーは onPrepare() コールバックを呼び出し、ジャンプして戻り、try ブロックを再度実行します。これは、曲が再生される前に数回繰り返されます。奇妙なことに、エラーに関する他の情報が得られず、エラー (-38,0) は「一般的なエラー」のようです。

4

1 に答える 1

0

ここに基づくMediaPlayer のリセット

MediaPlayer を初期化されていない状態にリセットします。このメソッドを呼び出した後、データ ソースを設定して prepare() を呼び出して、再度初期化する必要があります。

MediaPlayer を再度初期化する必要があります。

于 2012-05-04T13:49:06.833 に答える