ChapterInformation

可用性有限

此特性不是基线特性,因为它在一些最广泛使用的浏览器中不起作用。

实验性: 这是一项实验性技术
在生产中使用此技术之前,请仔细检查浏览器兼容性表格

ChapterInformation 接口是 Media Session API 的一部分,用于表示媒体资源(即视频或音频文件)的单个章节的元数据。

给定媒体资源的章节信息在其首次创建时通过 MediaMetadata() 构造函数的初始化对象中的 chapterInfo 属性进行设置。该属性的值是一个 ChapterInformation 对象数组。

您可以通过现有 MediaMetadata 对象的 chapterInfo 属性访问其章节信息。这将返回一个 ChapterInformation 对象数组。

实例属性

ChapterInformation.artwork 只读 实验性

返回一个 Array,其中包含表示与章节关联的图像的对象。

ChapterInformation.startTime 只读 实验性

返回一个以秒为单位的数字,表示章节的开始时间。

ChapterInformation.title 只读 实验性

返回一个字符串,表示章节的标题。

示例

以下示例代码来自 Video / Media Session Sample,展示了 ChapterInformation 对象的典型结构。

js
const BASE_URL = "https://storage.googleapis.com/media-session/";

const metadata = {
  // …
  chapterInfo: [
    {
      title: "Chapter 1",
      startTime: 0,
      artwork: [
        {
          src: `${BASE_URL}sintel/chapter1-128.png`,
          sizes: "128x128",
          type: "image/png",
        },
        {
          src: `${BASE_URL}sintel/chapter1-512.png`,
          sizes: "512x512",
          type: "image/png",
        },
      ],
    },
    {
      title: "Chapter 2",
      startTime: 37,
      artwork: [
        {
          src: `${BASE_URL}sintel/chapter2-128.png`,
          sizes: "128x128",
          type: "image/png",
        },
        {
          src: `${BASE_URL}sintel/chapter2-512.png`,
          sizes: "512x512",
          type: "image/png",
        },
      ],
    },
  ],
};

以下代码片段显示了如何在 Media Session 代码中使用它(上面的对象属性是下面引用的 playlist 对象的一部分)。

js
function updateMetadata() {
  const track = playlist[index];

  log(`Playing ${track.title} track...`);
  navigator.mediaSession.metadata = new MediaMetadata({
    title: track.title,
    artist: track.artist,
    artwork: track.artwork,
    chapterInfo: track.chapterInfo,
  });

  // …
}

规范

规范
媒体会话
# chapterinformation

浏览器兼容性

另见