For AI agents: the complete documentation index is available at /next/zh/llms.txt, the full documentation bundle is available at /next/zh/llms-full.txt, and this page is available as Markdown at /next/zh/api/elements/built-in/video.md.
Lynx
  • 简体中文
  • <video>
    4.1
    experimental XElement

    <video> 是 Lynx 中用于播放在线视频资源的实验性元素。它支持通过 UIMethod 控制播放,并会派发播放生命周期事件。

    Warning

    <video> 仍处于实验性早期阶段,API 可能在后续版本中调整。 欢迎在 lynx_video_element_spec.md 中参与贡献和反馈。

    使用指南

    基础用法

    属性

    src

    Android
    iOS
    Harmony
    4.1
    experimental
    src?: string;

    视频资源 URL。仅支持在线网络 URL。

    loop

    Android
    iOS
    Harmony
    4.1
    experimental
    // @默认值: false
    loop?: boolean;

    是否循环播放。

    volume

    Android
    iOS
    Harmony
    4.1
    experimental
    // @默认值: 1.0
    volume?: number;

    播放音量,取值范围为 01

    muted

    Android
    iOS
    Harmony
    4.1
    experimental
    // @默认值: false
    muted?: boolean;

    是否静音播放。

    speed

    Android
    iOS
    Harmony
    4.1
    experimental
    // @默认值: 1.0
    speed?: number;

    播放速度,取值范围为 0.12.0

    object-fit

    Android
    iOS
    Harmony
    4.1
    experimental
    // @默认值: 'contain'
    'object-fit'?: 'contain' | 'cover' | 'fill';

    视频缩放方式。

    mode

    Android
    iOS
    Harmony
    4.1
    experimental
    // @默认值: 'queue'
    mode?: 'queue' | 'direct' | 'latest';

    UIMethod 执行模式。

    timeupdate-interval

    Android
    iOS
    Harmony
    4.1
    experimental
    // @默认值: 0.33
    'timeupdate-interval'?: number;

    bindtimeupdate 事件派发的最小间隔,单位为秒。

    事件

    前端可以绑定对应事件回调来监听元素的运行时行为,如下所示。

    bindfirstframe

    Android
    iOS
    Harmony
    4.1
    experimental
    bindfirstframe = (e: VideoFirstFrameEvent) => {};
    字段类型可选默认值平台起始版本描述
    durationnumber-
    Android
    iOS
    Harmony
    4.1
    4.1视频总时长,单位为秒。

    首帧加载完成时触发。

    bindplaying

    Android
    iOS
    Harmony
    4.1
    experimental
    bindplaying = (e: VideoPlayingEvent) => {};

    视频开始播放或恢复播放时触发。

    bindpaused

    Android
    iOS
    Harmony
    4.1
    experimental
    bindpaused = (e: VideoPausedEvent) => {};

    视频暂停播放时触发。

    bindstopped

    Android
    iOS
    Harmony
    4.1
    experimental
    bindstopped = (e: VideoStoppedEvent) => {};

    视频被 stop UIMethod 停止时触发。

    bindtimeupdate

    Android
    iOS
    Harmony
    4.1
    experimental
    bindtimeupdate = (e: VideoTimeUpdateEvent) => {};
    字段类型可选默认值平台起始版本描述
    currentnumber-
    Android
    iOS
    Harmony
    4.1
    4.1当前播放位置,单位为秒。
    durationnumber-
    Android
    iOS
    Harmony
    4.1
    4.1视频总时长,单位为秒。

    播放位置更新时触发。

    bindended

    Android
    iOS
    Harmony
    4.1
    experimental
    bindended = (e: VideoEndedEvent) => {};

    视频完整播放结束时触发。

    bindlooped

    Android
    iOS
    Harmony
    4.1
    experimental
    bindlooped = (e: VideoLoopedEvent) => {};

    每次循环播放结束时触发。

    binderror

    Android
    iOS
    Harmony
    4.1
    experimental
    binderror = (e: VideoErrorEvent) => {};
    字段类型可选默认值平台起始版本描述
    errorCodenumber-
    Android
    iOS
    Harmony
    4.1
    4.1平台播放错误码。
    errorMsgstring-
    Android
    iOS
    Harmony
    4.1
    4.1平台播放错误信息。

    视频播放发生错误时触发。

    bindbuffering

    Android
    iOS
    Harmony
    4.1
    experimental
    bindbuffering = (e: VideoBufferingEvent) => {};
    字段类型可选默认值平台起始版本描述
    bufferingnumber-
    Android
    iOS
    Harmony
    4.1
    4.1媒体时间轴上的缓冲结束位置,单位为秒。

    视频缓冲时触发。

    方法

    前端可以通过 SelectorQuery API 调用组件方法。

    方法回调可能收到以下响应字段:

    字段类型可选描述
    successboolean平台回调提供时,表示操作是否成功。
    errorCodenumber操作失败时的错误码。
    msgstring操作失败时的错误信息。
    errorMsgstringHarmony 上操作失败时的错误信息。

    play

    Android
    iOS
    Harmony
    4.1
    experimental
    lynx
      .createSelectorQuery()
      .select('#id')
      .invoke({
        method: 'play',
        success(res) {},
        fail(res) {},
      })
      .exec();

    播放视频。

    pause

    Android
    iOS
    Harmony
    4.1
    experimental
    lynx
      .createSelectorQuery()
      .select('#id')
      .invoke({
        method: 'pause',
        success(res) {},
        fail(res) {},
      })
      .exec();

    暂停视频播放。

    stop

    Android
    iOS
    Harmony
    4.1
    experimental
    lynx
      .createSelectorQuery()
      .select('#id')
      .invoke({
        method: 'stop',
        success(res) {},
        fail(res) {},
      })
      .exec();

    停止视频播放。

    seek

    Android
    iOS
    Harmony
    4.1
    experimental
    lynx
      .createSelectorQuery()
      .select('#id')
      .invoke({
        method: 'seek',
        params: {
          position: 2,
        },
        success(res) {},
        fail(res) {},
      })
      .exec();

    跳转到目标播放位置。

    字段类型可选默认值平台起始版本描述
    positionnumber-
    Android
    iOS
    Harmony
    4.1
    4.1目标播放位置,单位为秒。

    兼容性

    LCD tables only load in the browser

    除非另有说明,本项目采用知识共享署名 4.0 国际许可协议进行许可,代码示例采用 Apache License 2.0 许可协议进行许可。