鴻蒙開發接口媒體:【@ohos.multimedia.medialibrary (媒體庫管理)】

?媒體庫管理

icon-note.gif

? 說明:??該組件從API Version 6開始支持。后續版本如有新增內容,則采用上角標單獨標記該內容的起始版本。 發前請熟悉鴻蒙開發指導文檔: gitee.com/li-shizhen-skin/harmony-os/blob/master/README.md點擊或者復制轉到。

導入模塊

import mediaLibrary from '@ohos.multimedia.mediaLibrary';

mediaLibrary.getMediaLibrary8+

getMediaLibrary(context: Context): MediaLibrary

獲取媒體庫的實例,用于訪問和修改用戶等個人媒體數據信息(如音頻、視頻、圖片、文檔等)。

系統能力:SystemCapability.Multimedia.MediaLibrary.Core

參數:

參數名類型必填說明
contextContext傳入Ability實例的Context。

返回值:

類型說明
[MediaLibrary]媒體庫實例

示例:(從API Version 9開始)

var media = mediaLibrary.getMediaLibrary(this.context);

示例:(API Version 8)

import featureAbility from '@ohos.ability.featureAbility';var context = featureAbility.getContext()
var media = mediaLibrary.getMediaLibrary(context);

mediaLibrary.getMediaLibrary

getMediaLibrary(): MediaLibrary

獲取媒體庫的實例,用于訪問和修改用戶等個人媒體數據信息(如音頻、視頻、圖片、文檔等)。

說明: 從API Version 8開始,該接口不再維護,推薦使用新接口[mediaLibrary.getMediaLibrary8+]。

系統能力:SystemCapability.Multimedia.MediaLibrary.Core

返回值:

類型說明
[MediaLibrary]媒體庫實例

示例:

var media = mediaLibrary.getMediaLibrary();

MediaLibrary

getFileAssets7+

getFileAssets(options: MediaFetchOptions, callback: AsyncCallback<FetchFileResult>): void

獲取文件資源,使用callback方式返回異步結果。

需要權限:ohos.permission.READ_MEDIA

系統能力:SystemCapability.Multimedia.MediaLibrary.Core

參數:

參數名類型必填說明
options[MediaFetchOptions]文件獲取選項
callbackAsyncCallback<[FetchFileResult]>異步獲取FetchFileResult之后的回調

示例:

let fileKeyObj = mediaLibrary.FileKey
let imageType = mediaLibrary.MediaType.IMAGE
let imagesfetchOp = {selections: fileKeyObj.MEDIA_TYPE + '= ?',selectionArgs: [imageType.toString()],
};
mediaLibrary.getFileAssets(imagesfetchOp, (error, fetchFileResult) => {if (fetchFileResult != undefined) {console.info('mediaLibraryTest : ASSET_CALLBACK fetchFileResult success');fetchFileResult.getAllObject((err, fileAssetList) => {if (fileAssetList != undefined) {fileAssetList.forEach(getAllObjectInfo);}});}
});

getFileAssets7+

getFileAssets(options: MediaFetchOptions): Promise<FetchFileResult>

獲取文件資源,使用Promise方式返回結果。

需要權限:ohos.permission.READ_MEDIA

系統能力:SystemCapability.Multimedia.MediaLibrary.Core

參數:

參數名類型必填說明
options[MediaFetchOptions]文件檢索選項

返回值

類型說明
[FetchFileResult]文件數據結果集

示例:

let fileKeyObj = mediaLibrary.FileKey
let imageType = mediaLibrary.MediaType.IMAGE
let imagesfetchOp = {selections: fileKeyObj.MEDIA_TYPE + '= ?',selectionArgs: [imageType.toString()],
};
mediaLibrary.getFileAssets(imagesfetchOp).then(function(fetchFileResult){console.info("getFileAssets successfully:"+ JSON.stringify(dir));
}).catch(function(err){console.info("getFileAssets failed with error:"+ err);
});

on8+

on(type: 'deviceChange'|'albumChange'|'imageChange'|'audioChange'|'videoChange'|'fileChange'|'remoteFileChange', callback: Callback<void>): void

打開媒體媒體庫變更通知,使用callback方式返回異步結果。

系統能力:SystemCapability.Multimedia.MediaLibrary.Core

參數:

參數名類型必填說明
typestring媒體類型 'deviceChange':?注冊設備變更 'albumChange':?相冊變更 'imageChange':?圖片文件變更 'audioChange': ?音頻文件變更 'videoChange': ?視頻文件變更 'fileChange': ?文件變更 'remoteFileChange':?注冊設備上文件變更
callbackcallback<void>回調返回空

示例:

mediaLibrary.on('imageChange', () => {// image file had changed, do something
})

off8+

off(type: 'deviceChange'|'albumChange'|'imageChange'|'audioChange'|'videoChange'|'fileChange'|'remoteFileChange', callback?: Callback<void>): void

關閉媒體媒體庫變更通知,使用callback方式返回異步結果。

系統能力:SystemCapability.Multimedia.MediaLibrary.Core

參數:

參數名類型必填說明
typestring媒體類型 'deviceChange':?注冊設備變更 'albumChange':?相冊變更 'imageChange':?圖片文件變更 'audioChange': ?音頻文件變更 'videoChange': ?視頻文件變更 'fileChange': ?文件變更 'remoteFileChange':?注冊設備上文件變更
callbackcallback<void>回調返回空

示例:

mediaLibrary.off('imageChange', () => {// stop listening success
})

createAsset?8+

createAsset(mediaType: MediaType, displayName: string, relativePath: string, callback: AsyncCallback<FileAsset>): void

創建媒體資源,使用callback方式返回結果。

需要權限:ohos.permission.READ_MEDIA, ohos.permission.WRITE_MEDIA

系統能力:SystemCapability.Multimedia.MediaLibrary.Core

參數:

參數名類型必填說明
mediaType[MediaType]媒體類型
displayNamestring展示文件名
relativePathstring文件保存路徑,可以通過[getPublicDirectory]獲取不同類型文件的保存路徑
callbackAsyncCallback<[FileAsset]>異步獲取媒體數據FileAsset之后的回調

示例:

async function example() {// 使用Callback方式創建Image類型文件let mediaType = mediaLibrary.MediaType.IMAGE;let DIR_IMAGE = mediaLibrary.DirectoryType.DIR_IMAGE;const path = await media.getPublicDirectory(DIR_IMAGE);media.createAsset(mediaType, 'imageCallBack.jpg', path + 'myPicture/', (err, fileAsset) => {if (fileAsset != undefined) {console.info('createAsset successfully, message = ' + err);} else {console.info('createAsset failed, message = ' + err);}});
}

createAsset8+

createAsset(mediaType: MediaType, displayName: string, relativePath: string): Promise<FileAsset>

創建媒體資源,使用Promise方式返回結果。

需要權限:ohos.permission.READ_MEDIA, ohos.permission.WRITE_MEDIA

系統能力:SystemCapability.Multimedia.MediaLibrary.Core

參數:

參數名類型必填說明
mediaType[MediaType]媒體類型
displayNamestring展示文件名
relativePathstring相對路徑,可以通過getPublicDirectory獲取不同類型媒體文件的一層目錄的relative path

返回值

類型說明
[FileAsset]媒體數據FileAsset

示例:

async function example() {// 使用Promise方式創建Image類型文件let mediaType = mediaLibrary.MediaType.IMAGE;let DIR_IMAGE = mediaLibrary.DirectoryType.DIR_IMAGE;const path = await media.getPublicDirectory(DIR_IMAGE);media.createAsset(mediaType, "image01.jpg", path + 'myPicture/').then (function (asset) {console.info("createAsset successfully:"+ JSON.stringify(asset));}).catch(function(err){console.info("createAsset failed with error:"+ err);});
}

getPublicDirectory8+

getPublicDirectory(type: DirectoryType, callback: AsyncCallback<string>): void

獲取公共目錄路徑,使用callback方式返回結果。

系統能力:SystemCapability.Multimedia.MediaLibrary.Core

參數:

參數名類型必填說明
type[DirectoryType]公共目錄類型
callbackAsyncCallback<string>callback 返回公共目錄路徑

示例:

let DIR_CAMERA = mediaLibrary.DirectoryType.DIR_CAMERA;
media.getPublicDirectory(DIR_CAMERA, (err, dicResult) => {if (dicResult == 'Camera/') {console.info('mediaLibraryTest : getPublicDirectory passed');} else {console.info('mediaLibraryTest : getPublicDirectory failed');}
});

getPublicDirectory8+

getPublicDirectory(type: DirectoryType): Promise<string>

獲取公共目錄路徑,使用Promise方式返回結果。

系統能力:SystemCapability.Multimedia.MediaLibrary.Core

參數:

參數名類型必填說明
type[DirectoryType]公共目錄類型

返回值:

類型說明
Promise<string>返回公共目錄路徑

示例:

async function example() {let DIR_CAMERA = mediaLibrary.DirectoryType.DIR_CAMERA;const dicResult = await media.getPublicDirectory(DIR_CAMERA);if (dicResult == 'Camera/') {console.info('MediaLibraryTest : getPublicDirectory');} else {console.info('MediaLibraryTest : getPublicDirectory failed');}
}

getAlbums7+

getAlbums(options: MediaFetchOptions, callback: AsyncCallback<Array<Album>>): void

獲取相冊列表,使用callback 方式返回結果。

需要權限:ohos.permission.READ_MEDIA

系統能力:SystemCapability.Multimedia.MediaLibrary.Core

參數

參數名類型必填說明
options[MediaFetchOptions]相冊獲取條件
callbackAsyncCallback<Array<[Album]>>異步獲取Album列表之后的回調

示例:

let AlbumNoArgsfetchOp = {selections: '',selectionArgs: [],
};
mediaLibrary.getAlbums(AlbumNoArgsfetchOp, (err, albumList) => {if (albumList != undefined) {const album = albumList[0];console.info('album.albumName = ' + album.albumName);console.info('album.count = ' + album.count);} else {console.info('getAlbum fail, message = ' + err);}
})

getAlbums7+

getAlbums(options: MediaFetchOptions): Promise<Array<Album>>

獲取相冊列表,使用 promise 方式返回結果。

需要權限:ohos.permission.READ_MEDIA

系統能力:SystemCapability.Multimedia.MediaLibrary.Core

參數:

參數名類型必填說明
options[MediaFetchOptions]相冊獲取條件

返回值:

類型說明
Promise<Array<[Album]>>返回Album列表

示例:

let AlbumNoArgsfetchOp = {selections: '',selectionArgs: [],
};
mediaLibrary.getAlbums(AlbumNoArgsfetchOp).then(function(albumList){console.info("getAlbums successfully:"+ JSON.stringify(albumList));
}).catch(function(err){console.info("getAlbums failed with error:"+ err);
});

release8+

release(callback: AsyncCallback<void>): void

釋放MediaLibrary實例。 當后續不需要使用MediaLibrary實例中的方法時調用。

系統能力:SystemCapability.Multimedia.MediaLibrary.Core

參數:

參數名類型必填說明
callbackAsyncCallback<void>回調表示成功還是失敗

示例:

var media = mediaLibrary.getMediaLibrary(context);
media.release((err) => {// do something
});

release8+

release(): Promise<void>

釋放MediaLibrary實例。 當后續不需要使用MediaLibrary實例中的方法時調用。

系統能力:SystemCapability.Multimedia.MediaLibrary.Core

返回值:

類型說明
Promise<void>Promise實例,用于獲取異步返回結果

示例:

var media = mediaLibrary.getMediaLibrary(context);
media.release()

storeMediaAsset(deprecated)

storeMediaAsset(option: MediaAssetOption, callback: AsyncCallback<string>): void

保存媒體資源,以異步方法獲取保存成功的URI,使用callback形式返回結果。

說明: 從API Version 9開始廢棄。

系統能力:SystemCapability.Multimedia.MediaLibrary.Core

參數:

參數名類型必填說明
option[MediaAssetOption]媒體資源選項。
callbackAsyncCallback<string>媒體資源保存回調,返回保存成功后得到的URI。

示例:

let option = {src : "/data/storage/el2/base/haps/entry/image.png",mimeType : "image/*",relativePath : "Pictures/"
};
mediaLibrary.getMediaLibrary().storeMediaAsset(option, (err, value) => {if (err) {console.log("An error occurred when storing media resources.");return;}console.log("Media resources stored. ");// Obtain the URI that stores media resources.
});

storeMediaAsset(deprecated)

storeMediaAsset(option: MediaAssetOption): Promise<string>

保存媒體資源,以異步方法獲取保存成功的URI,使用Promise形式返回結果。

說明: 從API Version 9開始廢棄。

系統能力:SystemCapability.Multimedia.MediaLibrary.Core

參數:

參數名類型必填說明
option[MediaAssetOption]媒體資源選項。

返回值:

類型說明
Promise<string>Promise實例,用于異步獲取保存成功后得到的URI。

示例:

let option = {src : "/data/storage/el2/base/haps/entry/image.png",mimeType : "image/*",relativePath : "Pictures/"
};
mediaLibrary.getMediaLibrary().storeMediaAsset(option).then((value) => {console.log("Media resources stored.");// Obtain the URI that stores media resources.
}).catch((err) => {console.log("An error occurred when storing media resources.");
});

startImagePreview(deprecated)

startImagePreview(images: Array<string>, index: number, callback: AsyncCallback<void>): void

啟動圖片預覽界面并限定預覽開始顯示的圖片。可以預覽指定序號的單張本地圖片(dataability://),也可以預覽列表中的所有網絡圖片(https://)。使用callback方式進行異步回調。

說明: 從API Version 9開始廢棄。

系統能力:SystemCapability.Multimedia.MediaLibrary.Core

參數:

參數名類型必填說明
imagesArray<string>預覽的圖片URI("https://","dataability://")列表。
indexnumber開始顯示的圖片序號。
callbackAsyncCallback<void>圖片預覽回調,失敗時返回錯誤信息。

示例:

let images = ["dataability:///media/xxxx/2","dataability:///media/xxxx/3"
];
/* 網絡圖片使用方式
let images = ["https://media.xxxx.com/image1.jpg","https://media.xxxx.com/image2.jpg"
];
*/
let index = 1;
mediaLibrary.getMediaLibrary().startImagePreview(images, index, (err) => {if (err) {console.log("An error occurred when previewing the images.");return;}console.log("Succeeded in previewing the images.");
});

startImagePreview(deprecated)

startImagePreview(images: Array<string>, callback: AsyncCallback<void>): void

啟動圖片預覽界面,可以預覽列表中首張本地圖片(dataability://),也可以預覽列表中的所有網絡圖片(https://)。使用callback方式進行異步回調。

說明: 從API Version 9開始廢棄。

系統能力:SystemCapability.Multimedia.MediaLibrary.Core

參數:

參數名類型必填說明
imagesArray<string>預覽的圖片URI("https://","dataability://")列表。
callbackAsyncCallback<void>圖片預覽回調,失敗時返回錯誤信息。

示例:

let images = ["dataability:///media/xxxx/2","dataability:///media/xxxx/3"
];
/* 網絡圖片使用方式
let images = ["https://media.xxxx.com/image1.jpg","https://media.xxxx.com/image2.jpg"
];
*/
mediaLibrary.getMediaLibrary().startImagePreview(images, (err) => {if (err) {console.log("An error occurred when previewing the images.");return;}console.log("Succeeded in previewing the images.");
});

startImagePreview(deprecated)

startImagePreview(images: Array<string>, index?: number): Promise<void>

啟動圖片預覽界面并限定預覽開始顯示的圖片。可以預覽指定序號的單張本地圖片(dataability://),也可以預覽列表中的所有網絡圖片(https://)。使用Promise方式進行異步回調。

說明: 從API Version 9開始廢棄。

系統能力:SystemCapability.Multimedia.MediaLibrary.Core

參數:

參數名類型必填說明
imagesArray<string>預覽的圖片URI("https://","dataability://")列表。
indexnumber開始顯示的圖片序號,不選擇時默認為0。

返回值:

類型說明
Promise<void>Promise實例,用于異步獲取預覽結果,失敗時返回錯誤信息。

示例:

let images = ["dataability:///media/xxxx/2","dataability:///media/xxxx/3"
];
/* 網絡圖片使用方式
let images = ["https://media.xxxx.com/image1.jpg","https://media.xxxx.com/image2.jpg"
];
*/
let index = 1;
mediaLibrary.getMediaLibrary().startImagePreview(images, index).then(() => {console.log("Succeeded in previewing the images.");
}).catch((err) => {console.log("An error occurred when previewing the images.");
});

startMediaSelect(deprecated)

startMediaSelect(option: MediaSelectOption, callback: AsyncCallback<Array<string>>): void

啟動媒體選擇界面,以異步方法獲取選擇的媒體URI列表,使用callback形式返回結果。

說明: 從API Version 9開始廢棄。

系統能力:SystemCapability.Multimedia.MediaLibrary.Core

參數:

參數名類型必填說明
option[MediaSelectOption]媒體選擇選項。
callbackAsyncCallback<Array<string>>媒體選擇回調,返回選擇的媒體URI(dataability://)列表。

示例:

let option = {type : "image",count : 2
};
mediaLibrary.getMediaLibrary().startMediaSelect(option, (err, value) => {if (err) {console.log("An error occurred when selecting media resources.");return;}console.log("Media resources selected.");// Obtain the media selection value.
});

startMediaSelect(deprecated)

startMediaSelect(option: MediaSelectOption): Promise<Array<string>>

啟動媒體選擇界面,以異步方法獲取選擇的媒體URI列表,使用Promise形式返回結果。

說明: 從API Version 9開始廢棄。

系統能力:SystemCapability.Multimedia.MediaLibrary.Core

參數:

參數名類型必填說明
option[MediaSelectOption]媒體選擇選項。

返回值:

類型說明
Promise<Array<string>>Promise實例,用于異步獲取選擇的媒體URI(dataability://)列表。

示例:

let option = {type : "image",count : 2
};
mediaLibrary.getMediaLibrary().startMediaSelect(option).then((value) => {console.log("Media resources selected.");// Obtain the media selection value.
}).catch((err) => {console.log("An error occurred when selecting media resources.");
});

FileAsset7+

提供封裝文件屬性的方法。

屬性

系統能力:??以下各項對應的系統能力均為SystemCapability.Multimedia.MediaLibrary.Core

名稱類型可讀可寫說明
idnumber文件資源編號
uristring文件資源uri(如:dataability:///media/image/2)
mimeTypestring文件擴展屬性
mediaType8+[MediaType]媒體類型
displayNamestring顯示文件名,包含后綴名
titlestring文件標題
relativePath8+string相對公共目錄路徑
parent8+number父目錄id
sizenumber文件大小(單位:字節)
dateAddednumber添加日期(添加文件時間到1970年1月1日的秒數值)
dateModifiednumber修改日期(修改文件時間到1970年1月1日的秒數值)
dateTakennumber拍攝日期(文件拍照時間到1970年1月1日的秒數值)
artist8+string作者
audioAlbum8+string專輯
widthnumber圖片寬度(單位:像素)
heightnumber圖片高度(單位:像素)
orientationnumber圖片顯示方向(順時針旋轉角度,如0,90,180 單位:度)
duration8+number持續時間(單位:毫秒)
albumIdnumber文件所歸屬的相冊編號
albumUri8+string文件所歸屬相冊uri
albumNamestring文件所歸屬相冊名稱

isDirectory8+

isDirectory(callback: AsyncCallback<boolean>): void

判斷fileAsset是否為目錄,使用callback方式返回異步結果。

需要權限:ohos.permission.READ_MEDIA

系統能力:SystemCapability.Multimedia.MediaLibrary.Core

參數:

參數名類型必填說明
callbackAsyncCallback<boolean>當前FileAsset是否是目錄的回調

示例:

async function example() {let imageType = mediaLibrary.MediaType.IMAGE;let getImageOp = {selections: fileKeyObj.MEDIA_TYPE + '= ?',selectionArgs: [imageType.toString()],order: fileKeyObj.DATE_ADDED + " DESC",extendArgs: "",};const fetchFileResult = await media.getFileAssets(getImageOp);const asset = await fetchFileResult.getFirstObject();asset.isDirectory((err, isDirectory) => {// do something});
}

isDirectory8+

isDirectory():Promise<boolean>

判斷fileAsset是否為目錄,使用Promise方式返回異步結果。

需要權限:ohos.permission.READ_MEDIA

系統能力:SystemCapability.Multimedia.MediaLibrary.Core

返回值:

類型說明
Promise<boolean>Promise實例,返回當前FileAsset是否是目錄

示例:

async function example() {let imageType = mediaLibrary.MediaType.IMAGE;let getImageOp = {selections: fileKeyObj.MEDIA_TYPE + '= ?',selectionArgs: [imageType.toString()],order: fileKeyObj.DATE_ADDED + " DESC",extendArgs: "",};const fetchFileResult = await media.getFileAssets(getImageOp);const asset = await fetchFileResult.getFirstObject();asset.isDirectory().then(function(isDirectory){console.info("isDirectory result:"+ isDirectory);}).catch(function(err){console.info("isDirectory failed with error:"+ err);});
}

commitModify8+

commitModify(callback: AsyncCallback<void>): void

修改文件的元數據,使用callback方式返回異步結果。

需要權限:ohos.permission.READ_MEDIA, ohos.permission.WRITE_MEDIA

系統能力:SystemCapability.Multimedia.MediaLibrary.Core

參數:

參數名類型必填說明
callbackAsyncCallback<void>回調返回空

示例:

async function example() {let imageType = mediaLibrary.MediaType.IMAGE;let getImageOp = {selections: fileKeyObj.MEDIA_TYPE + '= ?',selectionArgs: [imageType.toString()],order: fileKeyObj.DATE_ADDED + " DESC",extendArgs: "",};const fetchFileResult = await media.getFileAssets(getImageOp);const asset = await fetchFileResult.getFirstObject();asset.title = 'newtitle';asset.commitModify(() => {console.info('commitModify success');   });
}

commitModify8+

commitModify(): Promise<void>

修改文件的元數據,使用promise方式返回異步結果。

需要權限:ohos.permission.READ_MEDIA, ohos.permission.WRITE_MEDIA

系統能力:SystemCapability.Multimedia.MediaLibrary.Core

返回值:

類型說明
Promise<void>Promise返回空

示例:

async function example() {let imageType = mediaLibrary.MediaType.IMAGE;let getImageOp = {selections: fileKeyObj.MEDIA_TYPE + '= ?',selectionArgs: [imageType.toString()],order: fileKeyObj.DATE_ADDED + " DESC",extendArgs: "",};const fetchFileResult = await media.getFileAssets(getImageOp);const asset = await fetchFileResult.getFirstObject();asset.title = 'newtitle';asset.commitModify();
}

open8+

open(mode: string, callback: AsyncCallback<number>): void

打開當前文件,使用callback方式返回異步結果。

注意:當前寫操作是互斥的操作,寫操作完成后需要調用close進行釋放

需要權限:ohos.permission.READ_MEDIA('r'模式打開),ohos.permission.WRITE_MEDIA('w'模式打開)

系統能力:SystemCapability.Multimedia.MediaLibrary.Core

參數

參數名類型必填說明
modestring打開文件方式,如:'r'(只讀), 'w'(只寫), 'rw'(讀寫)
callbackAsyncCallback<number>回調返回文件句柄

示例:

async function example() {let mediaType = mediaLibrary.MediaType.IMAGE;let DIR_IMAGE = mediaLibrary.DirectoryType.DIR_IMAGE;const path = await media.getPublicDirectory(DIR_IMAGE);asset = await media.createAsset(mediaType, "image00003.jpg", path);asset.open('rw', (openError, fd) => {if(fd > 0){asset.close(fd);}else{console.info('File Open Failed!' + openError);}});
}

open8+

open(mode: string): Promise<number>

打開當前文件,使用promise方式返回異步結果。

注意:當前寫操作是互斥的操作,寫操作完成后需要調用close進行釋放

需要權限:ohos.permission.READ_MEDIA('r'模式打開),ohos.permission.WRITE_MEDIA('w'模式打開)

系統能力:SystemCapability.Multimedia.MediaLibrary.Core

參數:

參數名類型必填說明
modestring打開文件方式,如:'r'(只讀), 'w'(只寫), 'rw'(讀寫)

返回值:

類型說明
Promise<number>Promise返回文件句柄

示例:

async function example() {let mediaType = mediaLibrary.MediaType.IMAGE;let DIR_IMAGE = mediaLibrary.DirectoryType.DIR_IMAGE;const path = await media.getPublicDirectory(DIR_IMAGE);asset = await media.createAsset(mediaType, "image00003.jpg", path);asset.open('rw').then((fd) => {console.info('File fd!' + fd);}).catch((err) => {console.info('File err!' + err);});
}

close8+

close(fd: number, callback: AsyncCallback<void>): void

關閉當前文件,使用callback方式返回異步結果。

需要權限:ohos.permission.READ_MEDIA('r'模式打開),ohos.permission.WRITE_MEDIA('w'模式打開)

系統能力:SystemCapability.Multimedia.MediaLibrary.Core

參數:

參數名類型必填說明
fdnumber文件描述符
callbackAsyncCallback<void>回調返回空

示例:

async function example() {let imageType = mediaLibrary.MediaType.IMAGE;let getImageOp = {selections: fileKeyObj.MEDIA_TYPE + '= ?',selectionArgs: [imageType.toString()],order: fileKeyObj.DATE_ADDED + " DESC",extendArgs: "",};const fetchFileResult = await media.getFileAssets(getImageOp);const asset = await fetchFileResult.getFirstObject();asset.close(fd, (closeErr) => {if (closeErr != undefined) {console.info('mediaLibraryTest : close : FAIL ' + closeErr.message);console.info('mediaLibraryTest : ASSET_CALLBACK : FAIL');} else {console.info("=======asset.close success====>");}});
}

close8+

close(fd: number): Promise<void>

關閉當前文件,使用promise方式返回異步結果。

需要權限:ohos.permission.READ_MEDIA('r'模式打開),ohos.permission.WRITE_MEDIA('w'模式打開)

系統能力:SystemCapability.Multimedia.MediaLibrary.Core

參數:

參數名類型必填說明
fdnumber文件描述符

返回值:

類型說明
Promise<void>Promise返回空

示例:

async function example() {let imageType = mediaLibrary.MediaType.IMAGE;let getImageOp = {selections: fileKeyObj.MEDIA_TYPE + '= ?',selectionArgs: [imageType.toString()],order: fileKeyObj.DATE_ADDED + " DESC",extendArgs: "",};const fetchFileResult = await media.getFileAssets(getImageOp);const asset = await fetchFileResult.getFirstObject();asset.close(fd).then((closeErr) => {if (closeErr != undefined) {console.info('mediaLibraryTest : close : FAIL ' + closeErr.message);console.info('mediaLibraryTest : ASSET_CALLBACK : FAIL');} else {console.info("=======asset.close success====>");}});
}

getThumbnail8+

getThumbnail(callback: AsyncCallback<image.PixelMap>): void

獲取文件的縮略圖,使用callback方式返回異步結果。

需要權限:ohos.permission.READ_MEDIA

系統能力:SystemCapability.Multimedia.MediaLibrary.Core

參數:

參數名類型必填說明
callbackAsyncCallback<image.PixelMap>回調返回縮略圖的PixelMap

示例:

async function example() {let imageType = mediaLibrary.MediaType.IMAGE;let getImageOp = {selections: fileKeyObj.MEDIA_TYPE + '= ?',selectionArgs: [imageType.toString()],order: fileKeyObj.DATE_ADDED + " DESC",extendArgs: "",};const fetchFileResult = await media.getFileAssets(getImageOp);const asset = await fetchFileResult.getFirstObject();asset.getThumbnail((err, pixelmap) => {console.info('mediaLibraryTest : getThumbnail Successfull '+ pixelmap);});
}

getThumbnail8+

getThumbnail(size: Size, callback: AsyncCallback<image.PixelMap>): void

獲取文件的縮略圖,傳入縮略圖尺寸,使用callback方式返回異步結果。

需要權限:ohos.permission.READ_MEDIA

系統能力:SystemCapability.Multimedia.MediaLibrary.Core

參數:

參數名類型必填說明
size[Size]縮略圖尺寸
callbackAsyncCallback<image.PixelMap>回調返回縮略圖的PixelMap

示例:

async function example() {let imageType = mediaLibrary.MediaType.IMAGE;let getImageOp = {selections: fileKeyObj.MEDIA_TYPE + '= ?',selectionArgs: [imageType.toString()],order: fileKeyObj.DATE_ADDED + " DESC",extendArgs: "",};const fetchFileResult = await media.getFileAssets(getImageOp);const asset = await fetchFileResult.getFirstObject();asset.getThumbnail(size, (err, pixelmap) => {console.info('mediaLibraryTest : getThumbnail Successfull '+ pixelmap);});
}

getThumbnail8+

getThumbnail(size?: Size): Promise<image.PixelMap>

獲取文件的縮略圖,傳入縮略圖尺寸,使用promise方式返回異步結果。

需要權限:ohos.permission.READ_MEDIA

系統能力:SystemCapability.Multimedia.MediaLibrary.Core

參數:

參數名類型必填說明
size[Size]縮略圖尺寸

返回值:

類型說明
Promise<image.PixelMap>Promise返回縮略圖的PixelMap

示例:

async function example() {let imageType = mediaLibrary.MediaType.IMAGE;let getImageOp = {selections: fileKeyObj.MEDIA_TYPE + '= ?',selectionArgs: [imageType.toString()],order: fileKeyObj.DATE_ADDED + " DESC",extendArgs: "",};const fetchFileResult = await media.getFileAssets(getImageOp);const asset = await fetchFileResult.getFirstObject();asset.getThumbnail(size).then((pixelmap) => {console.info('mediaLibraryTest : getThumbnail Successfull '+ pixelmap);}).catch((err) => {console.info('mediaLibraryTest : getThumbnail fail'+ err);});
}

favorite8+

favorite(isFavorite: boolean, callback: AsyncCallback<void>): void

將文件設置為收藏文件,使用callback方式返回異步結果。

需要權限:ohos.permission.READ_MEDIA, ohos.permission.WRITE_MEDIA

系統能力:SystemCapability.Multimedia.MediaLibrary.Core

參數:

參數名類型必填說明
isFavoriteboolean是否設置為收藏文件, true:設置為收藏文件,false:取消收藏
callbackAsyncCallback<void>回調返回空

示例:

async function example() {let imageType = mediaLibrary.MediaType.IMAGE;let getImageOp = {selections: fileKeyObj.MEDIA_TYPE + '= ?',selectionArgs: [imageType.toString()],order: fileKeyObj.DATE_ADDED + " DESC",extendArgs: "",};const fetchFileResult = await media.getFileAssets(getImageOp);const asset = await fetchFileResult.getFirstObject();asset.favorite(true,function(err){// do something});
}

favorite8+

favorite(isFavorite: boolean): Promise<void>

將文件設置為收藏文件,使用promise方式返回異步結果。

需要權限:ohos.permission.READ_MEDIA, ohos.permission.WRITE_MEDIA

系統能力:SystemCapability.Multimedia.MediaLibrary.Core

參數:

參數名類型必填說明
isFavoriteboolean是否設置為收藏文件, true:設置為收藏文件,false:取消收藏

返回值:

類型說明
Promise<void>Promise返回空

示例:

async function example() {let imageType = mediaLibrary.MediaType.IMAGE;let getImageOp = {selections: fileKeyObj.MEDIA_TYPE + '= ?',selectionArgs: [imageType.toString()],order: fileKeyObj.DATE_ADDED + " DESC",extendArgs: "",};const fetchFileResult = await media.getFileAssets(getImageOp);const asset = await fetchFileResult.getFirstObject();asset.favorite(true).then(function() {console.info("favorite successfully");}).catch(function(err){console.info("favorite failed with error:"+ err);});
}

isFavorite8+

isFavorite(callback: AsyncCallback<boolean>): void

判斷該文件是否為收藏文件,使用callback方式返回異步結果。

需要權限:ohos.permission.READ_MEDIA

系統能力:SystemCapability.Multimedia.MediaLibrary.Core

參數:

參數名類型必填說明
callbackAsyncCallback<boolean>回調表示是否為收藏文件

示例:

async function example() {let imageType = mediaLibrary.MediaType.IMAGE;let getImageOp = {selections: fileKeyObj.MEDIA_TYPE + '= ?',selectionArgs: [imageType.toString()],order: fileKeyObj.DATE_ADDED + " DESC",extendArgs: "",};const fetchFileResult = await media.getFileAssets(getImageOp);const asset = await fetchFileResult.getFirstObject();asset.isFavorite((err, isFavorite) => {if (isFavorite) {console.info('FileAsset is favorite');}else{console.info('FileAsset is not favorite');}});
}

isFavorite8+

isFavorite():Promise<boolean>

判斷該文件是否為收藏文件,使用promise方式返回異步結果。

需要權限:ohos.permission.READ_MEDIA

系統能力:SystemCapability.Multimedia.MediaLibrary.Core

返回值:

類型說明
Promise<boolean>Promise回調表示是否是收藏文件

示例:

async function example() {let imageType = mediaLibrary.MediaType.IMAGE;let getImageOp = {selections: fileKeyObj.MEDIA_TYPE + '= ?',selectionArgs: [imageType.toString()],order: fileKeyObj.DATE_ADDED + " DESC",extendArgs: "",};const fetchFileResult = await media.getFileAssets(getImageOp);const asset = await fetchFileResult.getFirstObject();asset.isFavorite().then(function(isFavorite){console.info("isFavorite result:"+ isFavorite);}).catch(function(err){console.info("isFavorite failed with error:"+ err);});
}

trash8+

trash(isTrash: boolean, callback: AsyncCallback<void>): void

當文件被定位時,將文件放到垃圾文件夾,使用callback方式返回異步結果。

放入垃圾文件夾的文件不會被真正刪除,可以通過isTrash = false參數恢復成正常文件。

需要權限:ohos.permission.READ_MEDIA, ohos.permission.WRITE_MEDIA

系統能力:SystemCapability.Multimedia.MediaLibrary.Core

參數:

參數名類型必填說明
isTrashboolean是否設置為垃圾文件
callbackAsyncCallback<void>回調返回空

示例:

async function example() {let imageType = mediaLibrary.MediaType.IMAGE;let getImageOp = {selections: fileKeyObj.MEDIA_TYPE + '= ?',selectionArgs: [imageType.toString()],order: fileKeyObj.DATE_ADDED + " DESC",extendArgs: "",};const fetchFileResult = await media.getFileAssets(getImageOp);const asset = await fetchFileResult.getFirstObject();asset.trash(true, trashCallBack);function trashCallBack(err, trash) {console.info('mediaLibraryTest : ASSET_CALLBACK ASSET_CALLBACK trash');}
}

trash8+

trash(isTrash: boolean): Promise<void>

當文件被定位時,將文件放到垃圾文件夾,使用promise方式返回異步結果。

放入垃圾文件夾的文件不會被真正刪除,可以通過isTrash = false參數恢復成正常文件。

需要權限:ohos.permission.READ_MEDIA, ohos.permission.WRITE_MEDIA

系統能力:SystemCapability.Multimedia.MediaLibrary.Core

參數:

參數名類型必填說明
isTrashboolean是否設置為垃圾文件

返回值:

類型說明
Promise<void>Promise返回空

示例:

async function example() {let imageType = mediaLibrary.MediaType.IMAGE;let getImageOp = {selections: fileKeyObj.MEDIA_TYPE + '= ?',selectionArgs: [imageType.toString()],order: fileKeyObj.DATE_ADDED + " DESC",extendArgs: "",};const fetchFileResult = await media.getFileAssets(getImageOp);const asset = await fetchFileResult.getFirstObject();asset.trash(true).then(function() {console.info("trash successfully");}).catch(function(err){console.info("trash failed with error:"+ err);});
}

isTrash8+

isTrash(callback: AsyncCallback<boolean>): void

當文件被定位,判斷文件是否為垃圾文件,使用callback方式返回異步結果。

需要權限:ohos.permission.READ_MEDIA

系統能力:SystemCapability.Multimedia.MediaLibrary.Core

參數:

參數名類型必填說明
callbackAsyncCallback<boolean>回調返回表示文件是否為垃圾文件

示例:

async function example() {let imageType = mediaLibrary.MediaType.IMAGE;let getImageOp = {selections: fileKeyObj.MEDIA_TYPE + '= ?',selectionArgs: [imageType.toString()],order: fileKeyObj.DATE_ADDED + " DESC",extendArgs: "",};const fetchFileResult = await media.getFileAssets(getImageOp);const asset = await fetchFileResult.getFirstObject();asset.isTrash(isTrashCallBack);function isTrashCallBack(err, isTrash) {if (isTrash == true) {console.info('mediaLibraryTest : ASSET_CALLBACK ASSET_CALLBACK isTrash = ' + isTrash);asset.trash(true, trashCallBack);} else {console.info('mediaLibraryTest : ASSET_CALLBACK isTrash Unsuccessfull = ' + err);console.info('mediaLibraryTest : ASSET_CALLBACK isTrash : FAIL');}}
}

isTrash8+

isTrash():Promise<boolean>

當文件被定位,判斷文件是否為垃圾文件,使用promise方式返回異步結果。

需要權限:ohos.permission.READ_MEDIA

系統能力:SystemCapability.Multimedia.MediaLibrary.Core

返回值:

類型說明
Promise<void>Promise回調表示文件是否為垃圾文件

示例:

async function example() {let imageType = mediaLibrary.MediaType.IMAGE;let getImageOp = {selections: fileKeyObj.MEDIA_TYPE + '= ?',selectionArgs: [imageType.toString()],order: fileKeyObj.DATE_ADDED + " DESC",extendArgs: "",};const fetchFileResult = await media.getFileAssets(getImageOp);const asset = await fetchFileResult.getFirstObject();asset.isTrash().then(function(isTrash){console.info("isTrash result:"+ isTrash);}).catch(function(err){console.info("isTrash failed with error:"+ err);});
}

FetchFileResult7+

文件檢索結果集。

getCount7+

getCount(): number

獲取文件檢索結果中的文件總數。

系統能力:SystemCapability.Multimedia.MediaLibrary.Core

返回值

類型說明
number檢索到的文件總數

示例

async function example() {let getFileCountOneOp = {selections: fileKeyObj.MEDIA_TYPE + '= ?',selectionArgs: [fileType.toString()],order: fileKeyObj.DATE_ADDED + " DESC",extendArgs: "",};let fetchFileResult = await media.getFileAssets(getFileCountOneOp);const fetchCount = fetchFileResult.getCount();
}

isAfterLast7+

isAfterLast(): boolean

檢查結果集是否指向最后一行。

系統能力:SystemCapability.Multimedia.MediaLibrary.Core

返回值

類型說明
boolean當讀到最后一條記錄后,后續沒有記錄返回true,否則返回false。

示例

async function example() {let imageType = mediaLibrary.MediaType.IMAGE;let getImageOp = {selections: fileKeyObj.MEDIA_TYPE + '= ?',selectionArgs: [imageType.toString()],order: fileKeyObj.DATE_ADDED + " DESC",extendArgs: "",};let fetchFileResult = await media.getFileAssets(getImageOp);const fetchCount = fetchFileResult.getCount();console.info('mediaLibraryTest : count:' + fetchCount);let fileAsset = await fetchFileResult.getFirstObject();for (var i = 1; i < fetchCount; i++) {fileAsset = await fetchFileResult.getNextObject();if(i == fetchCount - 1) {console.info('mediaLibraryTest : isLast');var result = fetchFileResult.isAfterLast();console.info('mediaLibraryTest : isAfterLast:' + result);console.info('mediaLibraryTest : isAfterLast end');fetchFileResult.close();}}
}

close7+

close(): void

釋放 FetchFileResult 實例并使其失效。無法調用其他方法。

系統能力:SystemCapability.Multimedia.MediaLibrary.Core

示例

async function example() {let imageType = mediaLibrary.MediaType.IMAGE;let getImageOp = {selections: fileKeyObj.MEDIA_TYPE + '= ?',selectionArgs: [imageType.toString()],order: fileKeyObj.DATE_ADDED + " DESC",extendArgs: "",};let fetchFileResult = await media.getFileAssets(getImageOp);fetchFileResult.close();
}

getFirstObject7+

getFirstObject(callback: AsyncCallback<FileAsset>): void

獲取文件檢索結果中的第一個文件資產。此方法使用回調返回FileAsset。

系統能力:SystemCapability.Multimedia.MediaLibrary.Core

參數

參數名類型必填說明
callbackAsyncCallback<[FileAsset]>異步獲取結果集中第一個FileAsset完成后的回調

示例

async function example() {let imageType = mediaLibrary.MediaType.IMAGE;let getImageOp = {selections: fileKeyObj.MEDIA_TYPE + '= ?',selectionArgs: [imageType.toString()],order: fileKeyObj.DATE_ADDED + " DESC",extendArgs: "",};let fetchFileResult = await media.getFileAssets(getImageOp);fetchFileResult.getFirstObject((err, value) => {if (err) {console.error('Failed ');return;}console.log(value);})
}

getFirstObject7+

getFirstObject(): Promise<FileAsset>

獲取文件檢索結果中的第一個文件資產。此方法使用Promise方式返回FileAsset。

系統能力:SystemCapability.Multimedia.MediaLibrary.Core

返回值

類型說明
Promise<[FileAsset]>Promise方式返回FileAsset。

示例

async function example() {let imageType = mediaLibrary.MediaType.IMAGE;let getImageOp = {selections: fileKeyObj.MEDIA_TYPE + '= ?',selectionArgs: [imageType.toString()],order: fileKeyObj.DATE_ADDED + " DESC",extendArgs: "",};let fetchFileResult = await media.getFileAssets(getImageOp);fetchFileResult.getFirstObject().then(function(fileAsset){console.info("getFirstObject successfully:"+ JSON.stringify(fileAsset));}).catch(function(err){console.info("getFirstObject failed with error:"+ err);});
}

getNextObject7+

getNextObject(callback: AsyncCallback<FileAsset>): void

獲取文件檢索結果中的下一個文件資產。此方法使用callback形式返回結果。

需要權限:ohos.permission.READ_MEDIA

系統能力:SystemCapability.Multimedia.MediaLibrary.Core

參數

參數名類型必填說明
callbackeAsyncCallback<[FileAsset]>異步返回結果集中下一個FileAsset之后的回調

示例

async function example() {let imageType = mediaLibrary.MediaType.IMAGE;let getImageOp = {selections: fileKeyObj.MEDIA_TYPE + '= ?',selectionArgs: [imageType.toString()],order: fileKeyObj.DATE_ADDED + " DESC",extendArgs: "",};let fetchFileResult = await media.getFileAssets(getImageOp);fetchFileResult.getNextObject((err, value) => {if (err) {console.error('Failed ');return;}console.log(value);})
}

getNextObject7+

getNextObject(): Promise<FileAsset>

獲取文件檢索結果中的下一個文件資產。此方法使用promise方式來異步返回FileAsset。

需要權限:ohos.permission.READ_MEDIA

系統能力:SystemCapability.Multimedia.MediaLibrary.Core

返回值

類型說明
Promise<[FileAsset]>返回FileAsset對象

示例

async function example() {let imageType = mediaLibrary.MediaType.IMAGE;let getImageOp = {selections: fileKeyObj.MEDIA_TYPE + '= ?',selectionArgs: [imageType.toString()],order: fileKeyObj.DATE_ADDED + " DESC",extendArgs: "",};let fetchFileResult = await media.getFileAssets(getImageOp);const fetchCount = fetchFileResult.getCount();console.info('mediaLibraryTest : count:' + fetchCount);fileAsset = await fetchFileResult.getNextObject();
}

getLastObject7+

getLastObject(callback: AsyncCallback<FileAsset>): void

獲取文件檢索結果中的最后一個文件資產。此方法使用callback回調來返回FileAsset。

系統能力:SystemCapability.Multimedia.MediaLibrary.Core

參數

參數名類型必填說明
callbackAsyncCallback<[FileAsset]>異步返回FileAsset之后的回調

示例

async function example() {let imageType = mediaLibrary.MediaType.IMAGE;let getImageOp = {selections: fileKeyObj.MEDIA_TYPE + '= ?',selectionArgs: [imageType.toString()],order: fileKeyObj.DATE_ADDED + " DESC",extendArgs: "",};let fetchFileResult = await media.getFileAssets(getImageOp);fetchFileResult.getLastObject((err, value) => {if (err) {console.error('Failed ');return;}console.log(value);})
}

getLastObject7+

getLastObject(): Promise<FileAsset>

獲取文件檢索結果中的最后一個文件資產。此方法使用Promise方式來返回FileAsset。

系統能力:SystemCapability.Multimedia.MediaLibrary.Core

返回值

類型說明
Promise<[FileAsset]>返回FileAsset對象

示例

async function example() {let imageType = mediaLibrary.MediaType.IMAGE;let getImageOp = {selections: fileKeyObj.MEDIA_TYPE + '= ?',selectionArgs: [imageType.toString()],order: fileKeyObj.DATE_ADDED + " DESC",extendArgs: "",};let fetchFileResult = await media.getFileAssets(getImageOp);let lastObject = await fetchFileResult.getLastObject();
}

getPositionObject7+

getPositionObject(index: number, callback: AsyncCallback<FileAsset>): void

獲取文件檢索結果中具有指定索引的文件資產。此方法使用回調來返回FileAsset。

系統能力:SystemCapability.Multimedia.MediaLibrary.Core

參數

參數名類型必填說明
indexnumber要獲取的文件的索引,從0開始
callbackAsyncCallback<[FileAsset]>異步返回FileAsset之后的回調

示例

async function example() {let imageType = mediaLibrary.MediaType.IMAGE;let getImageOp = {selections: fileKeyObj.MEDIA_TYPE + '= ?',selectionArgs: [imageType.toString()],order: fileKeyObj.DATE_ADDED + " DESC",extendArgs: "",};let fetchFileResult = await media.getFileAssets(getImageOp);fetchFileResult.getPositionObject(0, (err, value) => {if (err) {console.error('Failed ');return;}console.log(value);})
}

getPositionObject7+

getPositionObject(index: number): Promise<FileAsset>

獲取文件檢索結果中具有指定索引的文件資產。此方法使用Promise形式返回文件Asset。

需要權限:ohos.permission.READ_MEDIA

系統能力:SystemCapability.Multimedia.MediaLibrary.Core

參數

參數名類型必填說明
indexnumber要獲取的文件的索引,從0開始

返回值

類型說明
Promise<[FileAsset]>返回FileAsset對象

示例

async function example() {let imageType = mediaLibrary.MediaType.IMAGE;let getImageOp = {selections: fileKeyObj.MEDIA_TYPE + '= ?',selectionArgs: [imageType.toString()],order: fileKeyObj.DATE_ADDED + " DESC",extendArgs: "",};let fetchFileResult = await media.getFileAssets(getImageOp);fetchFileResult.getPositionObject(1, (err, value) => {if (err) {console.error('Failed ');return;}console.log(value);})
}

getAllObject7+

getAllObject(callback: AsyncCallback<Array<FileAsset>>): void

獲取文件檢索結果中的所有文件資產。此方法使用Callback回調來返回FileAsset結果集。

需要權限:ohos.permission.READ_MEDIA

系統能力:SystemCapability.Multimedia.MediaLibrary.Core

參數

參數名類型必填說明
callbackAsyncCallback<Array<[FileAsset]>>異步返回FileAsset列表之后的回調

示例

async function example() {let imageType = mediaLibrary.MediaType.IMAGE;let getImageOp = {selections: fileKeyObj.MEDIA_TYPE + '= ?',selectionArgs: [imageType.toString()],order: fileKeyObj.DATE_ADDED + " DESC",extendArgs: "",};let fetchFileResult = await media.getFileAssets(getImageOp);fetchFileResult.getAllObject((err, value) => {if (err) {console.error('Failed ');return;}console.log(value);})
}

getAllObject7+

getAllObject(): Promise<Array<FileAsset>>

獲取文件檢索結果中的所有文件資產。此方法使用Promise來返回FileAsset結果集。

系統能力:SystemCapability.Multimedia.MediaLibrary.Core

返回值

類型說明
Promise<Array<[FileAsset]>>返回FileAsset對象列表

示例

async function example() {let imageType = mediaLibrary.MediaType.IMAGE;let getImageOp = {selections: fileKeyObj.MEDIA_TYPE + '= ?',selectionArgs: [imageType.toString()],order: fileKeyObj.DATE_ADDED + " DESC",extendArgs: "",};let fetchFileResult = await media.getFileAssets(getImageOp);var data = fetchFileResult.getAllObject();
}

Album7+

實體相冊

屬性

系統能力:??以下各項對應的系統能力均為SystemCapability.Multimedia.MediaLibrary.Core

名稱類型可讀可寫說明
albumIdnumber相冊編號
albumNamestring相冊名稱
albumUri8+string相冊Uri
dateModifiednumber修改日期
count8+number相冊中文件數量
relativePath8+string相對路徑
coverUri8+string封面文件Uri

commitModify8+

commitModify(callback: AsyncCallback<void>): void

更新相冊屬性修改到數據庫中。

需要權限:ohos.permission.READ_MEDIA, ohos.permission.WRITE_MEDIA

系統能力:SystemCapability.Multimedia.MediaLibrary.Core

參數

參數名類型必填說明
callbackAsyncCallback<void>回調返回空

示例

async function example() {let AlbumNoArgsfetchOp = {selections: '',selectionArgs: [],};const albumList = await media.getAlbums(AlbumNoArgsfetchOp);const album = albumList[0];album.albumName = 'hello';album.commitModify((err) => {if (err) {console.error('Failed ');return;}console.log('Modify successful.');})
}

commitModify8+

commitModify(): Promise<void>

更新相冊屬性修改到數據庫中。

需要權限:ohos.permission.READ_MEDIA, ohos.permission.WRITE_MEDIA

系統能力:SystemCapability.Multimedia.MediaLibrary.Core

返回值

類型說明
Promise<void>Promise調用返回空

示例

async function example() {let AlbumNoArgsfetchOp = {selections: '',selectionArgs: [],};const albumList = await media.getAlbums(AlbumNoArgsfetchOp);const album = albumList[0];album.albumName = 'hello';album.commitModify().then(function() {console.info("commitModify successfully");}).catch(function(err){console.info("commitModify failed with error:"+ err);});
}

getFileAssets7+

getFileAssets(options: MediaFetchOptions, callback: AsyncCallback<FetchFileResult>): void

按照檢索條件獲取相冊中的文件。此方法使用Callback回調來返回文件結果集。

需要權限:ohos.permission.READ_MEDIA

系統能力:SystemCapability.Multimedia.MediaLibrary.Core

參數

參數名類型必填說明
options[MediaFetchOptions]媒體檢索選項。
callbackAsyncCallback<[FetchFileResult]>異步返回FetchFileResult之后的回調。

示例

async function example() {let AlbumNoArgsfetchOp = {selections: '',selectionArgs: [],};const albumList = await media.getAlbums(AlbumNoArgsfetchOp);const album = albumList[0];album.getFileAssets(fileNoArgsfetchOp, getFileAssetsCallBack);function getFileAssetsCallBack(err, fetchFileResult) {// do something}
}

getFileAssets7+

getFileAssets(options?: MediaFetchOptions): Promise<FetchFileResult>

按照檢索條件獲取相冊中的文件。此方法使用異步Promise來返回文件結果集。

需要權限:ohos.permission.READ_MEDIA

系統能力:SystemCapability.Multimedia.MediaLibrary.Core

參數

參數名類型必填說明
options[MediaFetchOptions]媒體檢索選項。

返回值

類型說明
Promise<[FetchFileResult]>返回FetchFileResult對象。

示例

async function example() {let AlbumNoArgsfetchOp = {selections: '',selectionArgs: [],};const albumList = await media.getAlbums(AlbumNoArgsfetchOp);const album = albumList[0];album.getFileAssets(fileNoArgsfetchOp).then(function(albumFetchFileResult){console.info("getFileAssets successfully:"+ JSON.stringify(albumFetchFileResult));}).catch(function(err){console.info("getFileAssets failed with error:"+ err);});
}

PeerInfo8+

注冊設備的信息。

系統能力:??以下各項對應的系統能力均為SystemCapability.Multimedia.MediaLibrary.Core

名稱類型可讀可寫說明
deviceNamestring注冊設備的名稱
networkIdstring注冊設備的網絡ID
deviceType[DeviceType]設備類型
isOnlineboolean是否在線

MediaType8+

枚舉,媒體類型。

系統能力:??以下各項對應的系統能力均為SystemCapability.Multimedia.MediaLibrary.Core

名稱默認值說明
FILE1文件
IMAGE3圖片
VIDEO4視頻
AUDIO5音頻

FileKey8+

枚舉,文件關鍵信息。

系統能力:??以下各項對應的系統能力均為SystemCapability.Multimedia.MediaLibrary.Core

名稱默認值說明
IDfile_id文件編號
RELATIVE_PATHrelative_path相對公共目錄路徑
DISPLAY_NAMEdisplay_name顯示名字
PARENTparent父目錄id
MIME_TYPEmime_type文件擴展屬性
MEDIA_TYPEmedia_type媒體類型
SIZEsize文件大小(單位:字節)
DATE_ADDEDdate_added添加日期(添加文件時間到1970年1月1日的秒數值)
DATE_MODIFIEDdate_modified修改日期(修改文件時間到1970年1月1日的秒數值)
DATE_TAKENdate_taken拍攝日期(文件拍照時間到1970年1月1日的秒數值)
TITLEtitle文件標題
ARTISTartist作者
AUDIOALBUMaudio_album專輯
DURATIONduration持續時間(單位:秒)
WIDTHwidth圖片寬度(單位:像素)
HEIGHTheight圖片高度(單位:像素)
ORIENTATIONorientation圖片顯示方向,即順時針旋轉角度,如0,90,180。(單位:度)
ALBUM_IDbucket_id文件所歸屬的相冊編號
ALBUM_NAMEbucket_display_name文件所歸屬相冊名稱

DirectoryType8+

枚舉,目錄類型。

系統能力:??以下各項對應的系統能力均為SystemCapability.Multimedia.MediaLibrary.Core

名稱默認值說明
DIR_CAMERA0表示Camera文件路徑
DIR_VIDEO1表示視頻路徑
DIR_IMAGE2表示圖片路徑
DIR_AUDIO3表示音頻路徑
DIR_DOCUMENTS4表示文檔路徑
DIR_DOWNLOAD5表示下載路徑

DeviceType8+

枚舉,設備類型。

系統能力:??以下各項對應的系統能力均為SystemCapability.Multimedia.MediaLibrary.Core

名稱默認值說明
TYPE_UNKNOWN0未識別設備
TYPE_LAPTOP1筆記本電腦
TYPE_PHONE2手機
TYPE_TABLET3平板電腦
TYPE_WATCH4智能手表
TYPE_CAR5車載設備
TYPE_TV6電視設備

MediaFetchOptions7+

檢索條件。

系統能力:??以下各項對應的系統能力均為SystemCapability.Multimedia.MediaLibrary.Core

名稱類型可讀可寫必填說明
selectionsstring檢索條件,使用[FileKey]中的枚舉值作為檢索條件的列名。示例: selections: mediaLibrary.FileKey.MEDIA_TYPE + '= ? OR' +mediaLibrary.FileKey.MEDIA_TYPE + '= ?‘,
selectionArgsArray<string>檢索條件的值,對應selections中檢索條件列的值。 示例: selectionArgs: [mediaLibrary.MediaType.IMAGE.toString(), mediaLibrary.MediaType.VIDEO.toString()],
orderstring檢索結果排序方式,使用[FileKey]中的枚舉值作為檢索結果排序的列,可以用升序或降序排列。示例: 升序排列:order: mediaLibrary.FileKey.DATE_ADDED + " AESC" 降序排列:order: mediaLibrary.FileKey.DATE_ADDED + " DESC"
uri8+string文件URI
networkId8+string注冊設備網絡ID
extendArgs8+string擴展的檢索參數,目前沒有擴展檢索參數

Size8+

圖片尺寸。

名稱類型可讀可寫說明
widthnumber寬(單位:像素)
heightnumber高(單位:像素)

MediaAssetOption(deprecated)

媒體資源選項。

說明: 從API Version 9開始廢棄。

系統能力:??以下各項對應的系統能力均為SystemCapability.Multimedia.MediaLibrary.Core

名稱類型必填描述
srcstring本地文件應用沙箱路徑。
mimeTypestring媒體MIME(Multipurpose?Internet?Mail?Extensions)類型。 包括:'image/'、'video/'、'audio/'、 'file'。
relativePathstring自定義媒體資源保存位置,例:Pictures/ 不填則保存到默認路徑。 image類型默認路徑Pictures/ video類型默認路徑Videos/ audio類型默認路徑Audios/ file類型默認路徑Documents/ 。

MediaSelectOption(deprecated)

媒體資源類型選項。

說明: 從API Version 9開始廢棄。

系統能力:??以下各項對應的系統能力均為SystemCapability.Multimedia.MediaLibrary.Core

鴻蒙文檔.png

名稱類型必填描述?HarmonyOS與OpenHarmony鴻蒙文檔籽料:mau123789是v直接拿
typestring媒體類型,包括:image, video, media,當前僅支持media類型
countnumber媒體選擇,count = 1表示單選,count大于1表示多選。

到這里我們就基本上學完了這個知識點,當然如果說要真正參與到鴻蒙的開發當中,要學的還有很多。大家可以看看下面這個鴻蒙入門到實戰的學習技術路線圖:

?而隨著鴻蒙的火熱,現階段已有許多Android、前端等開發者看中其未來趨勢;想從網上查閱學習,但搜索到的鴻蒙資料都是七零八碎的,對此為了避免大家在學習過程中浪費過多時間,特地根據鴻蒙官方發布文檔結合華為內部人員的分享,經過反復修改整理得出:

整套鴻蒙(HarmonyOS NEXT)學習手冊(共計1236頁)與鴻蒙(HarmonyOS NEXT開發入門&實戰教學視頻(200集+)發放給大家。

內容包含了:(ArkTS、ArkUI、Stage模型、多端部署、分布式應用開發、音頻、視頻、WebGL、OpenHarmony多媒體技術、Napi組件、OpenHarmony內核、鴻蒙南向開發、鴻蒙項目實戰)等技術知識點。幫助大家在學習鴻蒙路上少走彎路!下面點擊↓↓↓拿

廢話不多說,接下來好好看下這份資料。

《鴻蒙 (HarmonyOS NEXT)開發基礎到實戰手冊》

OpenHarmony北向、南向開發環境搭建

鴻蒙開發基礎》

  1. ArkTS語言

  2. 安裝DevEco Studio

  3. 運用你的第一個ArkTS應用

  4. ArkUI聲明式UI開發

  5. .……

《鴻蒙開發進階》

  1. Stage模型入門

  2. 網絡管理

  3. 數據管理

  4. 電話服務

  5. 分布式應用開發

  6. 通知與窗口管理

  7. 多媒體技術

  8. 安全技能

  9. 任務管理

  10. WebGL

  11. 國際化開發

  12. 應用測試

  13. DFX面向未來設計

  14. 鴻蒙系統移植和裁剪定制

  15. ……

《鴻蒙開發實戰》

  1. ArkTS實踐

  2. UIAbility應用

  3. 網絡案例

  4. ……

《鴻蒙?(HarmonyOS NEXT)開發入門&實戰教學視頻》??

↑↑↑點擊即可

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/bicheng/19856.shtml
繁體地址,請注明出處:http://hk.pswp.cn/bicheng/19856.shtml
英文地址,請注明出處:http://en.pswp.cn/bicheng/19856.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

2.4 Docker部署JDK

2.4 Docker部署JDK jdk17部署&#xff08;自定義鏡像&#xff09; 1.在官網上下載jdk-17_linux-x64_bin.tar.gz&#xff0c;并安裝到/usr/local目錄下 cd /usr/local2.創建Dockerfile vim Dockerfile# 基于官方的Ubuntu 20.04鏡像作為基礎鏡像 FROM ubuntu:20.04# 設置環境…

【python深度學習】——大型工程項目管理以及互相導入

【python深度學習】——大型工程項目管理以及互相導入 1. 工程項目中常見的文件組織形式2. python中的“包”、“模塊”、與__init__.py2.1 概念理解2.2 \__init__py的使用3. 包的導入——相對導入與絕對導入3.1 相對導入3.1.1 相對導入的語法3.1.2 相對導入的使用注意事項與常…

Attentive Transfer Entropy to Exploit Transient Emergence of Coupling Effect

本文可以采用以下六個標準: 目標:指的是研究的基本目的。 耦合網絡重建專注于揭示網絡中變量之間潛在的連接結構,確定它們是如何相互關聯的。因果發現更進一步,不僅識別連接,還確定變量之間的因果關系和方向。信息傳遞測量量化變量之間流動的信息量,表明它們影響的強度和…

二維數組傳參時不用二級指針接收

先放結論&#xff1a; 1. 二維數組數組名指向的類型是 int [x] 類型&#xff0c;int** 指針指向類型是 int* &#xff0c;如果用二級指針接收會導致訪問錯誤&#xff0c;因為 int [x] 類型和 int* 類型不同。 2. 指向什么類型的指針1就按照該類型的字節數1移動。 最近在學…

初識java——javaSE(8)異常

文章目錄 一 異常的概念與體系結構1.1 什么是異常&#xff1f;1.2 異常的體系結構&#xff01;1.3 編譯時異常與運行時異常與Error編譯時異常&#xff1a;異常聲明&#xff1a;throws關鍵字 運行時異常&#xff1a;什么是Error? 二 處理異常2.1 異常的拋出&#xff1a;throw(注…

容器多機部署eureka及相關集群服務出現 Request execution failed with message: AuthScheme is null

預期部署方案&#xff1a;兩個eureka三個相關應用 注冊時應用出現&#xff1a;Request execution failed with message: Cannot invoke “Object.getClass()” because “authScheme” is null&#xff0c;一開始認為未正確傳遞eureka配置的賬戶密碼&#xff0c;例&#xff1a;…

5.23R語言-參數假設檢驗

理論 方差分析&#xff08;ANOVA, Analysis of Variance&#xff09;是統計學中用來比較多個樣本均值之間差異的一種方法。它通過將總變異分解為不同來源的變異來檢測因子對響應變量的影響。方差分析廣泛應用于實驗設計、質量控制、醫學研究等領域。 方差分析的基本模型 方差…

重慶人文科技學院建立“軟件安全產學研基地”,推動西南地區軟件安全發展

5月29日&#xff0c;重慶人文科技學院與開源網安簽訂了《產學研校企合作協議》&#xff0c;并舉行了“重慶人文科技學院產學研基地”授牌儀式&#xff0c;此次合作不僅深化了雙方在軟件安全領域的產學研緊密聯結&#xff0c;更是對川渝乃至西南地區軟件供應鏈安全發展起到重要的…

力扣linkedlist

反轉鏈表、 public class reverseList { // 1->2->3->o 、 o<-1<-2<-3public ListNode reverseList(ListNode head){//反轉鏈表ListNode prevnull;ListNode currhead;while(curr!null){ListNode nextcurr.next;curr.nextprev;prevcurr;currnext;}retu…

AI免費插件 批量條碼大師,支持100多種條碼類型

沒想到在網上看到一款和之前 悟空條碼 類似的條碼插件&#xff0c;叫批量條碼大師&#xff0c;他做的比 悟空條碼 功能更強&#xff0c;界面更美觀&#xff0c;特分享出來給大家。 本插件采用了BWIPJS條碼庫&#xff0c;支持110種條碼、二維碼的生成; 支持批量生成&#xff0c;…

愛堡集團數智掘金—共繪上市藍圖

&#xff08;本臺記者報&#xff09;2024年5月26日愛堡集團在浙江省杭州市上城區瑞萊克斯大酒店隆重召開規模達500人的盛會。這場聚焦智慧與創新的會議&#xff0c;旨在加速愛堡集團的數智化轉型進程&#xff0c;并為其上市之路繪制藍圖&#xff0c;吸引了眾多行業領袖和媒體的…

Qt 插件機制使用及原理

目錄 1.引言 2.插件原理 3.插件實現 3.1.定義一個接口集(只有純虛函數的類) 3.2.實現接口 4.插件的加載 4.1.靜態插件 4.1.1.靜態插件實現方式 4.1.2.靜態插件加載的過程 4.1.3.示例 4.2.動態插件 4.2.1.動態插件的加載過程 5.定位插件 6.插件開發的優勢 7.總結…

GPT-4o有點坑

GPT-4o有點坑 0. 前言1. GPT-4o簡介2. GPT-4o帶來的好處2.1 可以上傳圖片和文件2.2 更豐富的功能以及插件 3. "坑"的地方3.1 使用時間短3.2 GPT-4o變懶了 4. 總結 0. 前言 原本不想對GPT-4o的內容來進行評論的&#xff0c;但是看了相關的評論一直在說&#xff1a;技…

Ai晚班車531

1.中央網信辦等三部門&#xff1a;加快推進大模型、生成式人工智能標準研制。 2.中國石油與中國移動、華為、科大訊飛簽署合作協議。 3.Opera瀏覽器與谷歌云合作&#xff0c;接入 Gemini 大模型。 4.谷歌 Gemini 加持Chromebook Plus。 5.英飛凌&#xff1a;開發 8kW和12kW…

速盾:cdn和udp的區別?

CDN&#xff08;Content Delivery Network&#xff09;和UDP&#xff08;User Datagram Protocol&#xff09;是網絡領域中常用的兩個術語&#xff0c;分別代表了不同的技術和功能。下面將分別介紹它們的區別。 功能和應用場景 CDN是一種分布式架構的網絡服務&#xff0c;通過在…

改進YOLOv8系列:構建新型單頭transformer模塊,加入到骨干尾部

改進YOLOv8系列:構建新型單頭transformer模塊,加入到骨干尾部 需要修改的代碼self attention代碼創建yaml文件測試是否創建成功本文提供了改進 YOLOv8注意力系列包含不同的注意力機制以及多種加入方式,在本文中具有完整的代碼和包含多種更有效加入YOLOv8中的yaml結構,讀者…

【論文導讀】Grid Graph Reduction for Efficient Shortest Pathfinding(2023 Access)

Grid Graph Reduction for Efficient Shortest Pathfinding 作者&#xff1a;CHAN-YOUNG KIM AND SANGHOON SULL 文章提出了一種“基于模式識別的網格阻塞”&#xff08; Pattern-Based Blocking on grid graphs&#xff0c;PBGG&#xff09;的預處理方法&#xff0c;以加快最…

XML Web 服務技術解析:WSDL 與 SOAP 原理、應用案例一覽

XML Web服務是一種用于在網絡上發布、發現和使用應用程序組件的技術。它基于一系列標準和協議&#xff0c;如WSDL、SOAP、RDF和RSS。下面是一些相關的內容&#xff1a; WSDL&#xff08;Web服務描述語言&#xff09;&#xff1a;用于描述Web服務的基于XML的語言&#xff0c;定義…

安卓手機APP開發___廣播概述

安卓手機APP開發___廣播概述 目錄 概述 關于系統廣播 系統廣播所發生的更改 接收廣播 清單聲明的接收器 上下文注冊的接收器 對進程狀態的影響 發送廣播 通過權限限制廣播 帶權限的發送 帶權限的接收 安全注意事項和最佳做法 概述 Android 應用可以通過 Android …

數據分析案例-在線食品訂單數據可視化分析與建模分類

&#x1f935;?♂? 個人主頁&#xff1a;艾派森的個人主頁 ?&#x1f3fb;作者簡介&#xff1a;Python學習者 &#x1f40b; 希望大家多多支持&#xff0c;我們一起進步&#xff01;&#x1f604; 如果文章對你有幫助的話&#xff0c; 歡迎評論 &#x1f4ac;點贊&#x1f4…