0

AndroidのMediaPlayerオブジェクトに少し問題があります。具体的には、URLからm4aファイルを再生しようとしています。表面的には、オーディオファイルを適切に再生することを含め、正常に機能しているようです。ただし、logcatでは、実行時例外が安定して発生しています。具体的には、「BroadcastReceiverが順序付けられていないブロードキャスト中に結果を返そうとしている」

コードのどこにもブロードキャストレシーバーを設定したことがないので、これについて混乱しています。私の完全なソースコードは次のとおりです。

public class homeActivity extends Activity {
    private MediaPlayer player;
    /** Called when the activity is first created. */
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
        player = new MediaPlayer();
        try {
            player.setDataSource("http://www.promoshuffle.com/fantrailTest/sample.m4a");
            player.prepare();
        } catch (IllegalArgumentException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        } catch (IllegalStateException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        } catch (IOException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
        player.start();
    }
}

参考までに、私はMotorolla Atrixでデバッグしていますが、前述のように、オーディオは実際に正しく再生されています。誰かがこの例外を引き起こしているかもしれないことについて何か考えを持っているなら、私は本当にそれを感謝します!前もって感謝します。

Avtar

4

1 に答える 1

0

エラーの原因がコードではない場合、おそらく心配する必要はありません。

そうは言っても、prepare() の代わりに prepareAysnc() を使用してみてください。

MediaPlayer.OnPreparedListener を実装し、onPrepared() メソッドで player.start() を呼び出す必要があります。

于 2011-04-07T20:42:09.307 に答える