HTTPプログレッシブダウンロード(WiFi経由、Apacheを使用)を介してMP3をストリーミングできるAndroid音楽プレーヤーアプリを開発しました。MediaPlayer
これは、MP3 をストリーミングするように をセットアップする方法です。
mediaplayer.setDataSource(192.168.../song.mp3)
サーバーへの接続が失われるまで、すべてが正常に機能します。登録済み のログ出力onBufferingUpdateListener
から、サーバーへの接続が失われると (たとえば、電話で WiFi をオフにする)、MediaPlayer
がバッファ内の残りの曲をいっぱいにしようとしているようです。ただし、この再試行は数秒後に停止します。
つまり、サーバーへの接続が失われてから数秒以内に再開されない場合、 はバッファリングを再開しMediaPlayer
ません。(つまりonBufferingUpdate()
、数秒の再試行後に呼び出されなくなります)。また、onInfoListener
またはにエラー/情報メッセージが表示されませんonErrorListener
。
問題はMediaPlayer
、連続する接続間の時間間隔に関係なく、サーバーへの接続が再び利用可能になったときに、曲の残りのバッファリングを強制的に再開するにはどうすればよいですか(できれば再生を中断せずに) です。
HTTP プログレッシブ ダウンロードを介して MP3 をストリーミングするには、どのような代替手段が必要ですか?