說明
使用 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
屬性
- 
    互動GetMediaFileSystemsInteractivity optional 是否要在傳回允許的集合前,提示使用者授予其他媒體庫的權限。預設為無聲。如果傳遞的值為「yes」,或應用程式未獲准存取任何媒體庫,且傳遞的值為「if_needed」,系統就會顯示媒體庫設定對話方塊。 
MediaMetadata
屬性
- 
    專輯字串 選填 音訊和視訊專用。 
- 
    藝術家字串 選填 
- 
    attachedImagesBlob[] 媒體檔案中繼資料內嵌的圖片。這類圖片最常做為專輯封面或影片縮圖。 
- 
    則留言字串 選填 
- 
    版權字串 選填 
- 
    disc號碼 選填 
- 
    時間長度號碼 選填 音訊和視訊的定義。以秒為單位。 
- 
    類型字串 選填 
- 
    高度號碼 選填 影片的定義。以像素為單位。 
- 
    language字串 選填 
- 
    mimeType字串 瀏覽器嗅探到的 MIME 類型。 
- 
    rawTags媒體檔案中的所有中繼資料。如果格式有多個串流,系統會保留串流順序。容器中繼資料是第一個元素。 
- 
    輪替號碼 選填 影片的定義。以度為單位。 
- 
    title字串 選填 
- 
    追蹤號碼 選填 
- 
    寬度號碼 選填 
MediaMetadataOptions
屬性
- 
    metadataTypeGetMetadataType optional 指定要擷取的中繼資料子集。如果省略這個選項,預設值為「all」。 
StreamInfo
屬性
- 
    標記物件 未經過濾的串流標記字串 -> 字串字典。 
- 
    類型字串 說明串流的容器或轉碼器格式,例如「mp3」、「h264」。 
方法
addGalleryWatch()
chrome.mediaGalleries.addGalleryWatch(
galleryId: string,
callback?: function,
): Promise<AddGalleryWatchResult>
為指定相簿 ID 的相簿新增相簿監看項目。接著,系統會啟動指定的回呼,並附帶成功或失敗結果。
參數
- 
    galleryId字串 
- 
    callback函式 選用 callback參數如下:(result: AddGalleryWatchResult) => void 
傳回
- 
            Promise<AddGalleryWatchResult> Chrome 116 以上版本只有資訊清單 V3 以上版本支援 Promise,其他平台則需使用回呼。 
addUserSelectedFolder()
chrome.mediaGalleries.addUserSelectedFolder(
callback: function,
): void
向使用者顯示目錄挑選器,並將所選目錄新增為相簿。如果使用者取消選擇器,selectedFileSystemName 會是空白。對話方塊必須有使用者手勢才能顯示。如果沒有使用者手勢,回呼會以使用者取消的方式執行。
參數
- 
    callback函式 callback參數如下:(mediaFileSystems: DOMFileSystem[], selectedFileSystemName: string) => void - 
    mediaFileSystemsDOMFileSystem[] 
- 
    selectedFileSystemName字串 
 
- 
    
getMediaFileSystemMetadata()
chrome.mediaGalleries.getMediaFileSystemMetadata(
mediaFileSystem: DOMFileSystem,
): MediaFileSystemMetadata | undefined
取得特定媒體檔案系統的中繼資料。
參數
- 
    mediaFileSystemDOMFileSystem 
傳回
- 
            MediaFileSystemMetadata | undefined 
getMediaFileSystems()
chrome.mediaGalleries.getMediaFileSystems(
details?: MediaFileSystemsDetails,
callback?: function,
): Promise<DOMFileSystem[]>
取得這個使用者代理程式中設定的媒體庫。如果沒有設定或可用的項目,回呼會收到空陣列。
參數
- 
    詳細資料MediaFileSystemsDetails optional 
- 
    callback函式 選用 callback參數如下:(mediaFileSystems: DOMFileSystem[]) => void - 
    mediaFileSystemsDOMFileSystem[] 
 
- 
    
傳回
- 
            Promise<DOMFileSystem[]> Chrome 116 以上版本只有資訊清單 V3 以上版本支援 Promise,其他平台則需使用回呼。 
getMetadata()
chrome.mediaGalleries.getMetadata(
mediaFile: Blob,
options?: MediaMetadataOptions,
callback?: function,
): Promise<MediaMetadata>
取得媒體檔案的媒體專屬中繼資料。這項功能適用於媒體庫中的檔案,以及其他 DOM 檔案系統。
參數
- 
    mediaFileBlob 
- 
    選項
- 
    callback函式 選用 callback參數如下:(metadata: MediaMetadata) => void - 
    中繼資料
 
- 
    
傳回
- 
            Promise<MediaMetadata> Chrome 116 以上版本只有資訊清單 V3 以上版本支援 Promise,其他平台則需使用回呼。 
removeGalleryWatch()
chrome.mediaGalleries.removeGalleryWatch(
galleryId: string,
): void
移除指定相簿 ID 的相簿監控。
參數
- 
    galleryId字串 
事件
onGalleryChanged
chrome.mediaGalleries.onGalleryChanged.addListener(
callback: function,
)
在媒體庫變更或捨棄媒體庫監看時觸發。
參數
- 
    callback函式 callback參數如下:(details: GalleryChangeDetails) => void - 
    詳細資料
 
-