chrome.mediaGalleries

說明

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

權限

mediaGalleries

類型

AddGalleryWatchResult

屬性

  • galleryId

    字串

  • 成功

    布林值

GalleryChangeDetails

屬性

  • galleryId

    字串

    識別修改後的圖片庫。

  • 變更事件類型。

GalleryChangeType

列舉

「contents_changed」
美術館內容已變更。

「watch_dropped」
由於裝置已分離、相簿權限已移除或任何其他原因,智慧手錶已卸載。

GetMediaFileSystemsInteractivity

列舉

「否」
請勿採取互動式行動。

「yes」
請使用者管理允許的媒體庫。

「if_needed」
只有在傳回的集合為空時,才要求使用者管理允許的相簿。

GetMetadataType

列舉

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

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

「mimeTypeOnly」
僅擷取 MIME 類型。

MediaFileSystemMetadata

屬性

  • deviceId

    字串 選填

    如果媒體庫位於可移除式裝置上,則為裝置連線時的專屬 ID。

  • galleryId

    字串

    媒體庫的專屬永久 ID。

  • isAvailable

    布林值

    如果裝置目前可用,則為 True。

  • isMediaDevice

    布林值

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

  • isRemovable

    布林值

    如果媒體庫位於可移除式裝置上,則為 True。

  • 名稱

    字串

    檔案系統的名稱。

MediaFileSystemsDetails

屬性

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

MediaMetadata

屬性

  • 專輯

    字串 選填

    音訊和視訊專用。

  • 藝術家

    字串 選填

  • attachedImages

    Blob[]

    媒體檔案中繼資料內嵌的圖片。這類圖片最常做為專輯封面或影片縮圖。

  • 則留言

    字串 選填

  • 字串 選填

  • disc

    號碼 選填

  • 時間長度

    號碼 選填

    音訊和視訊的定義。以秒為單位。

  • 類型

    字串 選填

  • 高度

    號碼 選填

    影片的定義。以像素為單位。

  • language

    字串 選填

  • mimeType

    字串

    瀏覽器嗅探到的 MIME 類型。

  • rawTags

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

  • 輪替

    號碼 選填

    影片的定義。以度為單位。

  • title

    字串 選填

  • 追蹤

    號碼 選填

  • 寬度

    號碼 選填

MediaMetadataOptions

屬性

  • metadataType

    GetMetadataType optional

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

StreamInfo

屬性

  • 標記

    物件

    未經過濾的串流標記字串 -> 字串字典。

  • 類型

    字串

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

方法

addGalleryWatch()

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

為指定相簿 ID 的相簿新增相簿監看項目。接著,系統會啟動指定的回呼,並附帶成功或失敗結果。

參數

傳回

  • Chrome 116 以上版本

    只有資訊清單 V3 以上版本支援 Promise,其他平台則需使用回呼。

addUserSelectedFolder()

chrome.mediaGalleries.addUserSelectedFolder(
  callback: function,
)
: void

向使用者顯示目錄挑選器,並將所選目錄新增為相簿。如果使用者取消選擇器,selectedFileSystemName 會是空白。對話方塊必須有使用者手勢才能顯示。如果沒有使用者手勢,回呼會以使用者取消的方式執行。

參數

  • callback

    函式

    callback 參數如下:

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

    • mediaFileSystems

      DOMFileSystem[]

    • selectedFileSystemName

      字串

getMediaFileSystemMetadata()

chrome.mediaGalleries.getMediaFileSystemMetadata(
  mediaFileSystem: DOMFileSystem,
)
: MediaFileSystemMetadata | undefined

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

參數

  • mediaFileSystem

    DOMFileSystem

傳回

getMediaFileSystems()

Promise
chrome.mediaGalleries.getMediaFileSystems(
  details?: MediaFileSystemsDetails,
  callback?: function,
)
: Promise<DOMFileSystem[]>

取得這個使用者代理程式中設定的媒體庫。如果沒有設定或可用的項目,回呼會收到空陣列。

參數

  • 詳細資料
  • callback

    函式 選用

    callback 參數如下:

    (mediaFileSystems: DOMFileSystem[]) => void

    • mediaFileSystems

      DOMFileSystem[]

傳回

  • Promise<DOMFileSystem[]>

    Chrome 116 以上版本

    只有資訊清單 V3 以上版本支援 Promise,其他平台則需使用回呼。

getMetadata()

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

取得媒體檔案的媒體專屬中繼資料。這項功能適用於媒體庫中的檔案,以及其他 DOM 檔案系統。

參數

傳回

  • Promise<MediaMetadata>

    Chrome 116 以上版本

    只有資訊清單 V3 以上版本支援 Promise,其他平台則需使用回呼。

removeGalleryWatch()

chrome.mediaGalleries.removeGalleryWatch(
  galleryId: string,
)
: void

移除指定相簿 ID 的相簿監控。

參數

  • galleryId

    字串

事件

onGalleryChanged

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

在媒體庫變更或捨棄媒體庫監看時觸發。

參數