說明
在取得使用者同意的情況下,使用 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()
chrome.mediaGalleries.addGalleryWatch(
galleryId: string,
callback?: function,
)
為具有指定圖片庫 ID 的圖片庫新增圖片庫觀察項目。接著,指定的回呼會觸發並顯示成功或失敗結果。
參數
-
galleryId
字串
-
回呼
函式選用
callback
參數如下所示:(result: AddGalleryWatchResult) => void
傳回
-
Promise<AddGalleryWatchResult>
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
傳回
-
MediaFileSystemMetadata | 未定義
getMediaFileSystems()
chrome.mediaGalleries.getMediaFileSystems(
details?: MediaFileSystemsDetails,
callback?: function,
)
取得這個使用者代理程式中設定的媒體庫。若未設定或可用,回呼會收到空白的陣列。
參數
-
詳細資料
-
回呼
函式選用
callback
參數如下所示:(mediaFileSystems: DOMFileSystem[]) => void
-
mediaFileSystems
DOMFileSystem[]
-
傳回
-
Promise<DOMFileSystem[]>
Chrome 116 以上版本Promise 僅支援 Manifest V3 以上版本,其他平台就必須使用回呼。
getMetadata()
chrome.mediaGalleries.getMetadata(
mediaFile: Blob,
options?: MediaMetadataOptions,
callback?: function,
)
取得媒體檔案的媒體專屬中繼資料。這種方法適用於媒體庫和其他 DOM 檔案系統中的檔案。
參數
-
mediaFile
Blob
-
選項
-
回呼
函式選用
callback
參數如下所示:(metadata: MediaMetadata) => void
-
中繼資料
-
傳回
-
Promise<MediaMetadata>
Chrome 116 以上版本Promise 僅支援 Manifest V3 以上版本,其他平台就必須使用回呼。
removeGalleryWatch()
chrome.mediaGalleries.removeGalleryWatch(
galleryId: string,
)
針對具有指定圖片庫 ID 的圖片庫移除圖片庫觀察項目。
參數
-
galleryId
字串
活動
onGalleryChanged
chrome.mediaGalleries.onGalleryChanged.addListener(
callback: function,
)
變更媒體庫或媒體庫手錶遭到捨棄時觸發。
參數
-
回呼
功能
callback
參數如下所示:(details: GalleryChangeDetails) => void
-
詳細資料
-