chrome.mediaGalleries

说明

使用 chrome.mediaGalleries API 访问用户本地磁盘中的媒体文件(音频、图片和视频)(需经用户同意)。

权限

mediaGalleries

类型

AddGalleryWatchResult

属性

  • galleryId

    字符串

  • 成功

    布尔值

GalleryChangeDetails

属性

  • galleryId

    字符串

    标识修改后的图库。

  • 更改事件类型。

GalleryChangeType

枚举

"contents_changed"
图库内容已更改。

"watch_dropped"
手表因设备已断开连接、图库权限已被移除或任何其他原因而被丢弃。

GetMediaFileSystemsInteractivity

枚举

"no"
请勿交互操作。

"yes"
要求用户管理允许的媒体库。

"if_needed"
仅当返回集为空时,才要求用户管理允许的图库。

GetMetadataType

枚举

"all"
检索 MIME 类型、元数据标记和附加的图片。

"mimeTypeAndTags"
仅检索 MIME 类型和元数据标记。

"mimeTypeOnly"
仅检索 MIME 类型。

MediaFileSystemMetadata

属性

  • deviceId

    字符串(可选)

    如果媒体库位于可移动设备中,则为设备在线时的唯一 ID。

  • galleryId

    字符串

    媒体库的唯一且永久 ID。

  • 可用

    布尔值

    如果设备当前可用,则为 true。

  • isMediaDevice

    布尔值

    如果系统检测到媒体库所在的设备为媒体设备,则为 true。即存在 PTP、MTP 设备或 DCIM 目录。

  • isRemovable

    布尔值

    如果媒体库位于可移动设备,则为 true。

  • name

    字符串

    文件系统的名称。

MediaFileSystemsDetails

属性

  • 在返回允许集之前,是否提示用户授予对其他媒体库的权限。默认为静默。如果值为“yes”或者应用尚未获得访问任何媒体库的权限,值为“if_needed”成功通过,系统就会显示媒体库配置对话框。

MediaMetadata

属性

  • album

    字符串(可选)

    针对音频和视频进行定义。

  • 艺术家

    字符串(可选)

  • attachedImages

    颗粒 []

    媒体文件元数据中嵌入的图片。此元素最常用于专辑封面或视频缩略图。

  • 条评论

    字符串(可选)

  • 字符串(可选)

  • disc

    编号(选填

  • 时长

    编号(选填

    针对音频和视频进行定义。以秒为单位。

  • 流派

    字符串(可选)

  • 高度

    编号(选填

    针对视频定义。以像素为单位。

  • language

    字符串(可选)

  • mimeType

    字符串

    浏览器嗅到 MIME 类型。

  • rawTags

    媒体文件中的所有元数据。对于含有多个视频流的格式,系统会保留视频流的顺序。容器元数据是第一个元素。

  • 轮播

    编号(选填

    针对视频定义。以度为单位。

  • 标题

    字符串(可选)

  • 曲目

    编号(选填

  • width

    编号(选填

MediaMetadataOptions

属性

  • metadataType

    指定要检索的元数据子集。默认值为“all”如果省略了该选项,则会发生此错误。

StreamInfo

属性

  • 标记

    对象

    数据流标记的未经过滤的“string->string”字典。

  • 类型

    字符串

    说明视频流的容器或编解码器格式,即“mp3”“h264”。

方法

addGalleryWatch()

<ph type="x-smartling-placeholder"></ph> 承诺
chrome.mediaGalleries.addGalleryWatch(
  galleryId: string,
  callback?: function,
)

为具有指定图库 ID 的图库添加图库监控。然后会触发给定的回调函数,并显示成功或失败结果。

参数

返回

  • Promise&lt;AddGalleryWatchResult&gt;

    Chrome 116 及更高版本

    只有 Manifest V3 及更高版本支持 Promise,其他平台需要使用回调。

addUserSelectedFolder()

chrome.mediaGalleries.addUserSelectedFolder(
  callback: function,
)

向用户显示目录选择器,并将所选目录添加为图库。如果用户取消选择器, selectedFileSystemName 将为空。需要用户手势才能显示此对话框。如果没有用户手势,回调函数将如用户取消操作一样运行。

参数

  • callback

    函数

    callback 参数如下所示:

    (mediaFileSystems: DOMFileSystem[], selectedFileSystemName: string) => void

    • mediaFileSystems

      DOMFileSystem[]

    • selectedFileSystemName

      字符串

getMediaFileSystemMetadata()

chrome.mediaGalleries.getMediaFileSystemMetadata(
  mediaFileSystem: DOMFileSystem,
)

获取特定媒体文件系统的元数据。

参数

  • mediaFileSystem

    DOMFileSystem

返回

getMediaFileSystems()

<ph type="x-smartling-placeholder"></ph> 承诺
chrome.mediaGalleries.getMediaFileSystems(
  details?: MediaFileSystemsDetails,
  callback?: function,
)

获取在此用户代理中配置的媒体库。如果未配置或可用,回调将收到一个空数组。

参数

  • 详细信息
  • callback

    函数(可选)

    callback 参数如下所示:

    (mediaFileSystems: DOMFileSystem[]) => void

    • mediaFileSystems

      DOMFileSystem[]

返回

  • Promise&lt;DOMFileSystem[]&gt;

    Chrome 116 及更高版本

    只有 Manifest V3 及更高版本支持 Promise,其他平台需要使用回调。

getMetadata()

<ph type="x-smartling-placeholder"></ph> 承诺
chrome.mediaGalleries.getMetadata(
  mediaFile: Blob,
  options?: MediaMetadataOptions,
  callback?: function,
)

获取媒体文件的媒体专用元数据。此方法适用于媒体库以及其他 DOM 文件系统中的文件。

参数

返回

  • Promise&lt;MediaMetadata&gt;

    Chrome 116 及更高版本

    只有 Manifest V3 及更高版本支持 Promise,其他平台需要使用回调。

removeGalleryWatch()

chrome.mediaGalleries.removeGalleryWatch(
  galleryId: string,
)

针对具有指定图库 ID 的图库移除图库监控。

参数

  • galleryId

    字符串

事件

onGalleryChanged

chrome.mediaGalleries.onGalleryChanged.addListener(
  callback: function,
)

在媒体库发生更改或图库观看被舍弃时触发。

参数