章节信息

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

ChapterInformation媒体会话 API 的一个接口,它表示媒体资源(例如视频或音频文件)单个章节的元数据。

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

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

实例属性

ChapterInformation.artwork 只读 实验性

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

ChapterInformation.startTime 只读 实验性

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

ChapterInformation.title 只读 实验性

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

示例

以下来自 视频 / 媒体会话示例 的示例代码展示了 ChapterInformation 对象的典型结构

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

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",
      },
    ],
  },
];

以下代码段显示了如何在媒体会话代码中使用它(以上对象属性是下面引用的 playlist 对象的一部分)

js
function updateMetadata() {
  let 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

浏览器兼容性

BCD 表格仅在启用 JavaScript 的浏览器中加载。

另请参阅