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

使用XamarinMediaManager暂停直播后如何跳转回直播实时点位?

解决方案

问题原因

你用SeekTo(TimeSpan.FromHours(9999))不生效是因为直播流的时长元数据多为动态值,大部分直播流不会上报固定总时长,XamarinMediaManager会自动截断超出可播放范围的seek参数,所以传入超大时间值不会触发到实时点的跳转。

可用实现方案

方法1:调用官方内置的直播跳转API(推荐)

XamarinMediaManager v1.0及以上版本已经针对直播场景提供了专属的跳转实时点位的方法,直接调用即可:

await CrossMediaManager.Current.SeekToLivePosition();

这个方法是官方专门适配直播流场景开发的,会自动识别当前直播的实时边缘位置完成跳转,无需自行计算时间参数。

方法2:旧版本兼容方案

如果你使用的是低于v1.0的旧版本,没有上述API,可以通过读取当前直播流的最大缓冲位置实现跳转:

// 先校验当前播放的是直播流,避免对点播文件调用出错
if (CrossMediaManager.Current.IsLive)
{
    var liveLatestPosition = CrossMediaManager.Current.PlaybackManager.CurrentBuffer.MaxPosition;
    await CrossMediaManager.Current.SeekTo(liveLatestPosition);
}

注意事项

  • 加载直播流时,建议主动给MediaItem标记MediaType = MediaType.LiveStream,不要使用默认的Video/Audio类型,否则组件内部不会启用直播专属逻辑,可能导致跳转实时点失效
  • 确认你的直播流没有追加#EXT-X-ENDLIST标记(HLS场景),加了该标记的流会被组件识别为普通点播文件,无法使用直播相关能力

内容的提问来源于stack exchange,提问作者Chris Kooken

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.26 05:54:01