MediaStream
のメソッドのドキュメントにprepareAsync()
は次のように書かれています。
プレーヤーを非同期で再生できるように準備します。データソースと表示面を設定した後、prepare()またはprepareAsync()を呼び出す必要があります。ストリームの場合は、prepareAsync()を呼び出す必要があります。これは、十分なデータがバッファリングされるまでブロックするのではなく、すぐに戻ります。
ストリームの再生に使用すると、どのような問題が発生する可能性がありますか?prepare()
私は使っていてprepare()
、トラブルに巻き込まれたことはありません。
逆に、私自身の場合、「prepareAsync()」を使用すると、ストリームが開始されません。'prepare()'を使用すると、ストリームはバッファリング期間(1s-2s)の後に開始され、正常に再生されます。なぜこれが非同期メソッドで発生するのですか?async prepareのフォームはと同じprepare()
ですか?
mPlayer = new MediaPlayer();
mPlayer.setAudioStreamType(AudioManager.STREAM_MUSIC);
mPlayer.setDataSource(STREAM_URL);
mPlayer.prepareAsync();
mPlayer.start();