我現場直播音頻,希望具有暫停媒體播放器功能,然後從當前活動位置開始。默認的Pause()和Start()從它停止的地方開始。關於如何保持當前位置更新以便Start()是即時的任何想法?更新MediaPlayer暫停時的開始位置
回答
你試過調用seekTo()嗎?
你可以通過每半秒調用一次seekTo()來保持它的永久更新,但是我不知道我對此有何感受。
編輯:如果調用seekTo()每500毫秒,以保持它的前進,你將與currentPosition +自上次調用(500毫秒在這種情況下)ellapsed調用它。但是我不知道這是否是最好的方法。另一種方法是創建一個OnSeekCompleteListener,它執行一個新的seekTo(currentPosition + timeEllapsed)。在這種情況下,你需要計算timeEllapsed像這樣:currentSystemTime - systemTimeOnLastCall
從http://developer.android.com/reference/android/media/MediaPlayer.html:
的播放位置可以以seekTo(INT)的調用進行調整。
雖然異步seekTo(int)調用返回正確的方式,但實際的搜索操作可能需要一段時間才能完成,特別是對於正在流式傳輸的音頻/視頻。當實際的查找操作完成時,如果已通過setOnSeekCompleteListener(OnSeekCompleteListener)事先註冊了OnSeekCompleteListener,則內部播放器引擎會調用用戶提供的 OnSeekComplete.onSeekComplete()。
請注意seekTo(int)也可以在其他狀態下調用,例如Prepared,Paused和PlaybackCompleted狀態。
此外,可以通過調用getCurrentPosition()來檢索實際當前播放位置,這對於需要跟蹤播放進度的音樂播放器等應用程序非常有用。
在您暫停的MediaPlayer,並呼籲MediaPlayer.seekTo當你重新啓動它的位置設置回的MediaPlayer你叫MediaPlayer.getCurrentPosition。
- 1. Android MediaPlayer暫停
- 2. 位置更新自動暫停iOS
- 3. AngularJS暫停$位置更改
- 4. MediaPlayer暫停()行爲
- 5. 如何暫停/停止更新UWP C中的地理位置#
- 6. 圖層暫停時更新CALayer位置是否存在問題?
- 7. 當開始播放新媒體時,MediaPlayer OnClicListener停止播放
- 8. MediaPlayer onCompletionListener在暫停時調用
- 9. MediaPlayer在暫停後完成
- 10. Android MediaPlayer暫停流媒體
- 11. CSS動畫:暫停和更改位置
- 12. 暫停從更新
- 13. 定時器不會以開始/暫停切換按鈕開始
- 14. 自動暫停開始/停止熱鍵
- 15. WPF MediaElement - 當視頻暫停並且位置重置時圖像不會更新
- 16. MediaPlayer實例:停止行爲像暫停
- 17. 終止/暫停時重大更改位置API的行爲?
- 18. 應用程序被暫停後臺位置更新
- 19. 位置更新,而應用程序在後臺或暫停
- 20. Animate.css更改開始位置
- 21. Box2d在停止並重新開始暫停後移動更快[Android]
- 22. MediaPlayer開始 - >停止 - >開始MIDI文件
- 23. MapMarker.setCoordinate()停止更新位置
- 24. 安卓:暫停流音頻上的MediaPlayer
- 25. 數據更新時暫停Excel圖形
- 26. Android MediaPlayer pause()停止播放器並重新開始
- 27. CLLocation不會開始更新到iOS 8之後更新位置
- 28. 停止觀看android - 暫停,然後開始並從停止的地方開始
- 29. 設置腳本暫停和更新下面的時間
- 30. 遊戲計時器(開始,暫停,停止)
剛剛編輯我的答案,希望它有幫助 – bughi 2012-03-26 18:58:38