You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Android MediaPlayer.seekTo()对音频直播流无效,如何实现暂停后回直播?

解决方案

标准Android MediaPlayer无法直接实现你需求的「暂停直播流后恢复到当前实时直播进度」功能,原因如下:

  • 直播流属于无固定时长的流式内容,MediaPlayer的pause()方法只是暂停当前已缓冲内容的播放,start()恢复时自然会从暂停的缓冲位置继续,而非实时直播的当前点。
  • 你遇到的W/MediaPlayerNative: Stream has no duration and is therefore not seekable.报错是正常现象——seekTo()只对有明确时长的媒体文件有效,直播流没有时长,因此不支持跳转操作。

要实现你的需求,只能通过重新创建播放器实例的方式:

  • 当用户触发暂停操作时,调用MediaPlayer.release()彻底释放当前的播放器资源,不要仅调用pause()。
  • 当用户需要恢复播放时,重新初始化MediaPlayer对象,再次设置直播流的数据源,调用prepareAsync()完成准备后,再调用start(),这样就能重新连接到直播流的实时位置进行播放。

额外注意事项:

  • 处理播放器实例的创建与释放时,要做好状态管理,避免内存泄漏或重复初始化的问题。
  • 可以在重新连接的过程中添加加载提示,提升用户体验。

内容的提问来源于stack exchange,提问作者Mikhail K.

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.09 07:45:56