我现场直播音频,希望具有暂停媒体播放器功能,然后从当前活动位置开始。默认的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