chrome.mediaGalleries

說明

在取得使用者同意的情況下,使用 chrome.mediaGalleries API 存取使用者本機磁碟中的媒體檔案 (音訊、圖片、影片)。

權限

mediaGalleries

類型

AddGalleryWatchResult

屬性

  • galleryId

    字串

  • 成功

    boolean

GalleryChangeDetails

屬性

  • galleryId

    字串

    用於識別修改後的圖片庫。

  • 變更事件的類型。

GalleryChangeType

列舉

"contents_changed"
圖片庫內容已變更。

"watch_dropped"
由於裝置未卸離、相片庫權限已遭移除或其他原因,因此智慧手錶已捨棄。

GetMediaFileSystemsInteractivity

列舉

"no"
請勿以互動方式操作。

"yes"
要求使用者管理允許的媒體庫。

"if_needed"
只有在傳回集為空白時,才要求使用者管理允許的圖片庫。

GetMetadataType

列舉

"all"
擷取 MIME 類型、中繼資料標記和附加的圖片。

"mimeTypeAndTags"
僅擷取 MIME 類型和中繼資料標記。

"mimeTypeOnly"
僅擷取 MIME 類型。

MediaFileSystemMetadata

屬性

  • deviceId

    字串 選用

    如果媒體庫使用的是卸除式裝置,則必須為裝置連上網路時的唯一 ID。

  • galleryId

    字串

    媒體庫的專屬永久 ID。

  • isAvailable

    boolean

    如果裝置目前可用,則為「是」。

  • isMediaDevice

    boolean

    如果系統偵測到媒體庫所在的裝置是媒體裝置 (例如 PTP 或 MTP 裝置,或有 DCIM 目錄),則為 True。

  • isRemovable

    boolean

    如果媒體庫是在卸除式裝置上,則為「是」。

  • 名稱

    字串

    檔案系統的名稱。

MediaFileSystemsDetails

屬性

  • interactive

    是否要在傳回許可組合前,提示使用者授予其他媒體庫的權限。預設為靜音。如果傳遞的值是「yes」,或是應用程式尚未授予任何媒體庫存取權,且已傳遞「if_needed」值,系統就會顯示媒體庫設定對話方塊。

MediaMetadata

屬性

  • 專輯

    字串 選用

    定義為音訊和影片。

  • 藝術家

    字串 選用

  • attachedImages

    Blob[]

    嵌入媒體檔案中繼資料中的圖片。通常用於專輯封面或影片縮圖。

  • 則留言

    字串 選用

  • 字串 選用

  • disc

    數字 選填

  • 時間長度

    數字 選填

    定義為音訊和影片。以秒為單位。

  • 類型

    字串 選用

  • 高度

    數字 選填

    針對影片定義。以像素為單位。

  • language

    字串 選用

  • mimeType

    字串

    瀏覽器偵測 MIME 類型。

  • rawTags

    媒體檔案中的所有中繼資料。針對含有多個串流的格式,系統會保留串流順序。容器中繼資料是第一個元素。

  • 旋轉

    數字 選填

    針對影片定義。以度為單位。

  • title

    字串 選用

  • 追蹤

    數字 選填

  • 寬度

    數字 選填

MediaMetadataOptions

屬性

  • metadataType

    指定要擷取的中繼資料子集。如果省略這個選項,則預設為「all」。

StreamInfo

屬性

  • 標記

    物件

    串流的代碼標記未經篩選的 string-> 字串字典。

  • 類型

    字串

    說明串流的容器或轉碼器格式,例如「mp3」、「h264」。

方法

addGalleryWatch()

Promise
chrome.mediaGalleries.addGalleryWatch(
  galleryId: string,
  callback?: function,
)

為具有指定圖片庫 ID 的圖片庫新增圖片庫觀察項目。接著,指定的回呼會觸發並顯示成功或失敗結果。

參數

傳回

  • Chrome 116 以上版本

    Promise 僅支援 Manifest V3 以上版本,其他平台就必須使用回呼。

addUserSelectedFolder()

chrome.mediaGalleries.addUserSelectedFolder(
  callback: function,
)

向使用者顯示目錄選擇器,並將所選目錄新增為圖片庫。如果使用者取消選擇器, selectedFileSystemName 將顯示為空白。需要使用者手勢才會顯示對話方塊。如果沒有使用者手勢,回呼將模擬使用者取消的情況執行。

參數

  • 回呼

    功能

    callback 參數如下所示:

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

    • mediaFileSystems

      DOMFileSystem[]

    • selectedFileSystemName

      字串

getMediaFileSystemMetadata()

chrome.mediaGalleries.getMediaFileSystemMetadata(
  mediaFileSystem: DOMFileSystem,
)

取得特定媒體檔案系統的相關中繼資料。

參數

  • mediaFileSystem

    DOMFileSystem

傳回

getMediaFileSystems()

Promise
chrome.mediaGalleries.getMediaFileSystems(
  details?: MediaFileSystemsDetails,
  callback?: function,
)

取得這個使用者代理程式中設定的媒體庫。若未設定或可用,回呼會收到空白的陣列。

參數

  • 詳細資料
  • 回呼

    函式選用

    callback 參數如下所示:

    (mediaFileSystems: DOMFileSystem[])=>void

    • mediaFileSystems

      DOMFileSystem[]

傳回

  • Promise<DOMFileSystem[]>

    Chrome 116 以上版本

    Promise 僅支援 Manifest V3 以上版本,其他平台就必須使用回呼。

getMetadata()

Promise
chrome.mediaGalleries.getMetadata(
  mediaFile: Blob,
  options?: MediaMetadataOptions,
  callback?: function,
)

取得媒體檔案的媒體專屬中繼資料。這種方法適用於媒體庫和其他 DOM 檔案系統中的檔案。

參數

傳回

  • Promise<MediaMetadata>

    Chrome 116 以上版本

    Promise 僅支援 Manifest V3 以上版本,其他平台就必須使用回呼。

removeGalleryWatch()

chrome.mediaGalleries.removeGalleryWatch(
  galleryId: string,
)

針對具有指定圖片庫 ID 的圖片庫移除圖片庫觀察項目。

參數

  • galleryId

    字串

活動

onGalleryChanged

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

變更媒體庫或媒體庫手錶遭到捨棄時觸發。

參數