ライブオーディオをストリーミングしていて、メディアプレーヤを一時停止して現在のライブポジションから開始する機能が必要です。デフォルトのPause()とStart()は、停止したところから始まります。 Start()が瞬時になるように現在の位置を更新する方法に関するアイデアはありますか?一時停止時にMediaPlayerの開始位置を更新する
答えて
seekTo()を呼び出してみましたか?
TimerTaskで半分ごとにseekTo()を呼び出すことで、それを忌み嫌うように更新しておくことができますが、これについてどう感じるか分かりません。
EDIT:あなたが最後の呼び出し(この場合は500ミリ秒)以来ellapsed currentPosition +時間でそれを呼ぶだろう前進し、それを維持するために、500ミリ秒ごとseekTo()を呼び出した場合。しかし、これが最高のものかどうかはもう分かりません。別の方法は、新しいseekTo(currentPosition + timeEllapsed)を実行するOnSeekCompleteListenerを作成することです。あなたはそのようtimeEllapsedを計算する必要がある。この場合:currentSystemTime - http://developer.android.com/reference/android/media/MediaPlayer.htmlからsystemTimeOnLastCall
:
再生位置はseekToへの呼び出し(int型)で調整することができます。
非同期のseekTo(int)呼び出しは正しい方法で戻りますが、実際のシーク操作は終了するまでに時間がかかることがあります。特に、オーディオ/ビデオのストリーミングには時間がかかることがあります。実際のシーク操作が完了すると、onSeekCompleteListenerがsetOnSeekCompleteListener(OnSeekCompleteListener)を介してあらかじめ登録されている場合、内部プレーヤエンジンは OnSeekComplete.onSeekComplete()を提供したユーザを呼び出します。
seekTo(int)は、Prepared、Paused、PlaybackCompletedなどの他の状態でも呼び出すことができます。
また、実際の現在の再生位置はgetCurrentPosition()を呼び出すことで取得できます。これは、再生の進行状況を把握する必要のあるミュージックプレーヤーなどのアプリケーションに役立ちます。
MediaPlayerを一時停止するときにMediaPlayer.getCurrentPositionに電話をかけ、MediaPlayer.seekToを呼び出して、MediaPlayerを再起動したときの位置を設定し直します。
一時停止が押されたときにストリーム内の位置に戻ってきますか?少なくとも私はそれをテストしたときにそれが何をしているのですか? Startをもう一度押すと、ライブコンテンツのストリームの最後に移動したいと思います。 – Brianjs
ああ、申し訳ありませんが、私は「生きている」ことに気付かなかった。あなたがライブオーディオをストリーミングしているので、ユーザーがMediaPlayerを一時停止したときにMediaPlayerを単に停止させることができます。ユーザーがMediaPlayerを再起動したときにMediaPlayerを 'reset'して' start'します。あなたは常にライブストリームの最後にいます。 – neevek
- 1. 開始、一時停止、再開NSTimer Swift
- 2. Node.jsプロセス/ループの開始、一時停止、停止
- 3. MusicPlayer一時停止と開始から開始
- 4. 開始/一時停止トグルボタンでタイマーが始まらない
- 5. アクティビティのサービス内のMediaPlayerを一時停止する
- 6. 合成音声のAndroid MediaPlayerを一時停止する
- 7. MediaPlayerインスタンス:停止は一時停止のように動作します
- 8. Java:スレッドを一時停止し、ファイル内の位置を取得
- 9. フレームバッファ(/ dev/fb0)の更新を一時的に停止する
- 10. 一時停止後にデータベースを開く
- 11. 一時停止状態でのアクティビティの開始方法
- 12. THREE.JSとアニメーションの開始と一時停止のボタン
- 13. MediaPlayer一時停止後にストリーミングを続行MP3
- 14. 一時停止/一時停止後に一時停止したシーン(停止していない状態)でSKActionを実行しないようにするには、一時停止/一時停止後にノードのテクスチャは変更されません。
- 15. 実行時にラインレンダラの開始位置と終了位置を更新するには?
- 16. 大電力オーディオプレーヤーが一時停止位置
- 17. ウェブページの開始/終了時にバウンスを停止する(OS X)
- 18. 外部プロセスの開始時にサービスを停止する
- 19. インテントの開始時にタイマーを停止する
- 20. 特定の時刻にジョブを開始/停止する方法
- 21. Androidで特定の時間にイベントを開始/停止する
- 22. MediaPlayerはオーディオファイルを一時停止していません
- 23. ビデオの開始/停止時にビデオのサイズを変更するには?
- 24. Android MediaPlayerでの一時停止と検索
- 25. MediaRecorderの一時停止/再開機能
- 26. カウントダウンタイマーの一時停止と再開
- 27. Libgdxでの一時停止と再開
- 28. WebRTCの一時停止と再開ストリーム
- 29. スレッドの一時停止/再開方法
- 30. Androidサービスの一時停止/再開
私の答えを編集しました。それは役に立ちます。 – bughi