精品国产人成在线_亚洲高清无码在线观看_国产在线视频国产永久2021_国产AV综合第一页一个的一区免费影院黑人_最近中文字幕MV高清在线视频

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

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

jf_46214456 ? 來源:jf_46214456 ? 作者:jf_46214456 ? 2024-06-03 11:52 ? 次閱讀

媒體庫管理

icon-note.gif說明: 該組件從API Version 6開始支持。后續(xù)版本如有新增內(nèi)容,則采用上角標(biāo)單獨(dú)標(biāo)記該內(nèi)容的起始版本。 發(fā)前請熟悉鴻蒙開發(fā)指導(dǎo)文檔 :[gitee.com/li-shizhen-skin/harmony-os/blob/master/README.md]

導(dǎo)入模塊

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

mediaLibrary.getMediaLibrary8+

getMediaLibrary(context: Context): MediaLibrary

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

系統(tǒng)能力 :SystemCapability.Multimedia.MediaLibrary.Core

參數(shù)

參數(shù)名類型必填說明
contextContext傳入Ability實(shí)例的Context。

返回值:

類型說明
[MediaLiary]媒體庫實(shí)例

示例:(從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

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

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

系統(tǒng)能力 :SystemCapability.Multimedia.MediaLibrary.Core

返回值:

類型說明
[MediaLiary]媒體庫實(shí)例

示例:

var media = mediaLibrary.getMediaLibrary();

MediaLibrary

getFileAssets7+

getFileAssets(options: MediaFetchOptions, callback: AsyncCallback): void

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

需要權(quán)限 :ohos.permission.READ_MEDIA

系統(tǒng)能力 :SystemCapability.Multimedia.MediaLibrary.Core

參數(shù):

參數(shù)名類型必填說明
options[MediaFetchOptions]文件獲取選項(xiàng)
callbackAsyncCallback<[FetchFileResult]>異步獲取FetchFileResult之后的回調(diào)

示例:

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

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

需要權(quán)限 :ohos.permission.READ_MEDIA

系統(tǒng)能力 :SystemCapability.Multimedia.MediaLibrary.Core

參數(shù):

參數(shù)名類型必填說明
options[MediaFetchOptions]文件檢索選項(xiàng)

返回值

類型說明
[FetchFileResult]文件數(shù)據(jù)結(jié)果集

示例:

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

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

系統(tǒng)能力 :SystemCapability.Multimedia.MediaLibrary.Core

參數(shù):

參數(shù)名類型必填說明
typestring媒體類型 'deviceChange': 注冊設(shè)備變更 'albumChange': 相冊變更 'imageChange': 圖片文件變更 'audioChange': 音頻文件變更 'videoChange': 視頻文件變更 'fileChange': 文件變更 'remoteFileChange': 注冊設(shè)備上文件變更
callbackcallback回調(diào)返回空

示例:

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

off8+

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

關(guān)閉媒體媒體庫變更通知,使用callback方式返回異步結(jié)果。

系統(tǒng)能力 :SystemCapability.Multimedia.MediaLibrary.Core

參數(shù):

參數(shù)名類型必填說明
typestring媒體類型 'deviceChange': 注冊設(shè)備變更 'albumChange': 相冊變更 'imageChange': 圖片文件變更 'audioChange': 音頻文件變更 'videoChange': 視頻文件變更 'fileChange': 文件變更 'remoteFileChange': 注冊設(shè)備上文件變更
callbackcallback回調(diào)返回空

示例:

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

createAsset 8+

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

創(chuàng)建媒體資源,使用callback方式返回結(jié)果。

需要權(quán)限 :ohos.permission.READ_MEDIA, ohos.permission.WRITE_MEDIA

系統(tǒng)能力 :SystemCapability.Multimedia.MediaLibrary.Core

參數(shù):

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

示例:

async function example() {
    // 使用Callback方式創(chuàng)建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

創(chuàng)建媒體資源,使用Promise方式返回結(jié)果。

需要權(quán)限 :ohos.permission.READ_MEDIA, ohos.permission.WRITE_MEDIA

系統(tǒng)能力 :SystemCapability.Multimedia.MediaLibrary.Core

參數(shù):

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

返回值

類型說明
[FileAsset]媒體數(shù)據(jù)FileAsset

示例:

async function example() {
    // 使用Promise方式創(chuàng)建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): void

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

系統(tǒng)能力 :SystemCapability.Multimedia.MediaLibrary.Core

參數(shù):

參數(shù)名類型必填說明
type[DirectoryType]公共目錄類型
callbackAsyncCallbackcallback 返回公共目錄路徑

示例:

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

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

系統(tǒng)能力 :SystemCapability.Multimedia.MediaLibrary.Core

參數(shù):

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

返回值:

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

示例:

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>): void

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

需要權(quán)限 :ohos.permission.READ_MEDIA

系統(tǒng)能力 :SystemCapability.Multimedia.MediaLibrary.Core

參數(shù)

參數(shù)名類型必填說明
options[MediaFetchOptions]相冊獲取條件
callbackAsyncCallback>異步獲取Album列表之后的回調(diào)

示例:

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>

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

需要權(quán)限 :ohos.permission.READ_MEDIA

系統(tǒng)能力 :SystemCapability.Multimedia.MediaLibrary.Core

參數(shù):

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

返回值:

類型說明
Promise>返回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

釋放MediaLibrary實(shí)例。 當(dāng)后續(xù)不需要使用MediaLibrary實(shí)例中的方法時(shí)調(diào)用。

系統(tǒng)能力 :SystemCapability.Multimedia.MediaLibrary.Core

參數(shù):

參數(shù)名類型必填說明
callbackAsyncCallback回調(diào)表示成功還是失敗

示例:

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

release8+

release(): Promise

釋放MediaLibrary實(shí)例。 當(dāng)后續(xù)不需要使用MediaLibrary實(shí)例中的方法時(shí)調(diào)用。

系統(tǒng)能力 :SystemCapability.Multimedia.MediaLibrary.Core

返回值:

類型說明
PromisePromise實(shí)例,用于獲取異步返回結(jié)果

示例:

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

storeMediaAsset(deprecated)

storeMediaAsset(option: MediaAssetOption, callback: AsyncCallback): void

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

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

系統(tǒng)能力 :SystemCapability.Multimedia.MediaLibrary.Core

參數(shù):

參數(shù)名類型必填說明
option[MediaAssetOption]媒體資源選項(xiàng)。
callbackAsyncCallback媒體資源保存回調(diào),返回保存成功后得到的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

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

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

系統(tǒng)能力 :SystemCapability.Multimedia.MediaLibrary.Core

參數(shù):

參數(shù)名類型必填說明
option[MediaAssetOption]媒體資源選項(xiàng)。

返回值:

類型說明
PromisePromise實(shí)例,用于異步獲取保存成功后得到的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, index: number, callback: AsyncCallback): void

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

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

系統(tǒng)能力 :SystemCapability.Multimedia.MediaLibrary.Core

參數(shù):

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

示例:

let images = [
  "dataability:///media/xxxx/2",
  "dataability:///media/xxxx/3"
];
/* 網(wǎng)絡(luò)圖片使用方式
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, callback: AsyncCallback): void

啟動圖片預(yù)覽界面,可以預(yù)覽列表中首張本地圖片(dataability://),也可以預(yù)覽列表中的所有網(wǎng)絡(luò)圖片(https://)。使用callback方式進(jìn)行異步回調(diào)。

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

系統(tǒng)能力 :SystemCapability.Multimedia.MediaLibrary.Core

參數(shù):

參數(shù)名類型必填說明
imagesArray預(yù)覽的圖片URI("https://","dataability://")列表。
callbackAsyncCallback圖片預(yù)覽回調(diào),失敗時(shí)返回錯誤信息。

示例:

let images = [
  "dataability:///media/xxxx/2",
  "dataability:///media/xxxx/3"
];
/* 網(wǎng)絡(luò)圖片使用方式
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, index?: number): Promise

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

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

系統(tǒng)能力 :SystemCapability.Multimedia.MediaLibrary.Core

參數(shù):

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

返回值:

類型說明
PromisePromise實(shí)例,用于異步獲取預(yù)覽結(jié)果,失敗時(shí)返回錯誤信息。

示例:

let images = [
  "dataability:///media/xxxx/2",
  "dataability:///media/xxxx/3"
];
/* 網(wǎng)絡(luò)圖片使用方式
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>): void

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

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

系統(tǒng)能力 :SystemCapability.Multimedia.MediaLibrary.Core

參數(shù):

參數(shù)名類型必填說明
option[MediaSelectOption]媒體選擇選項(xiàng)。
callbackAsyncCallback>媒體選擇回調(diào),返回選擇的媒體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>

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

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

系統(tǒng)能力 :SystemCapability.Multimedia.MediaLibrary.Core

參數(shù):

參數(shù)名類型必填說明
option[MediaSelectOption]媒體選擇選項(xiàng)。

返回值:

類型說明
Promise>Promise實(shí)例,用于異步獲取選擇的媒體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+

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

屬性

系統(tǒng)能力: 以下各項(xiàng)對應(yīng)的系統(tǒng)能力均為SystemCapability.Multimedia.MediaLibrary.Core

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

isDirectory8+

isDirectory(callback: AsyncCallback): void

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

需要權(quán)限 :ohos.permission.READ_MEDIA

系統(tǒng)能力 :SystemCapability.Multimedia.MediaLibrary.Core

參數(shù):

參數(shù)名類型必填說明
callbackAsyncCallback當(dāng)前FileAsset是否是目錄的回調(diào)

示例:

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

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

需要權(quán)限 :ohos.permission.READ_MEDIA

系統(tǒng)能力 :SystemCapability.Multimedia.MediaLibrary.Core

返回值:

類型說明
PromisePromise實(shí)例,返回當(dāng)前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

修改文件的元數(shù)據(jù),使用callback方式返回異步結(jié)果。

需要權(quán)限 :ohos.permission.READ_MEDIA, ohos.permission.WRITE_MEDIA

系統(tǒng)能力 :SystemCapability.Multimedia.MediaLibrary.Core

參數(shù):

參數(shù)名類型必填說明
callbackAsyncCallback回調(diào)返回空

示例:

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

修改文件的元數(shù)據(jù),使用promise方式返回異步結(jié)果。

需要權(quán)限 :ohos.permission.READ_MEDIA, ohos.permission.WRITE_MEDIA

系統(tǒng)能力 :SystemCapability.Multimedia.MediaLibrary.Core

返回值:

類型說明
PromisePromise返回空

示例:

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): void

打開當(dāng)前文件,使用callback方式返回異步結(jié)果。

注意 :當(dāng)前寫操作是互斥的操作,寫操作完成后需要調(diào)用close進(jìn)行釋放

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

系統(tǒng)能力 :SystemCapability.Multimedia.MediaLibrary.Core

參數(shù)

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

示例:

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

打開當(dāng)前文件,使用promise方式返回異步結(jié)果。

注意 :當(dāng)前寫操作是互斥的操作,寫操作完成后需要調(diào)用close進(jìn)行釋放

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

系統(tǒng)能力 :SystemCapability.Multimedia.MediaLibrary.Core

參數(shù):

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

返回值:

類型說明
PromisePromise返回文件句柄

示例:

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

關(guān)閉當(dāng)前文件,使用callback方式返回異步結(jié)果。

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

系統(tǒng)能力 :SystemCapability.Multimedia.MediaLibrary.Core

參數(shù):

參數(shù)名類型必填說明
fdnumber文件描述符
callbackAsyncCallback回調(diào)返回空

示例:

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

關(guān)閉當(dāng)前文件,使用promise方式返回異步結(jié)果。

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

系統(tǒng)能力 :SystemCapability.Multimedia.MediaLibrary.Core

參數(shù):

參數(shù)名類型必填說明
fdnumber文件描述符

返回值:

類型說明
PromisePromise返回空

示例:

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): void

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

需要權(quán)限 :ohos.permission.READ_MEDIA

系統(tǒng)能力 :SystemCapability.Multimedia.MediaLibrary.Core

參數(shù):

參數(shù)名類型必填說明
callbackAsyncCallback回調(diào)返回縮略圖的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): void

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

需要權(quán)限 :ohos.permission.READ_MEDIA

系統(tǒng)能力 :SystemCapability.Multimedia.MediaLibrary.Core

參數(shù):

參數(shù)名類型必填說明
size[Size]縮略圖尺寸
callbackAsyncCallback回調(diào)返回縮略圖的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

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

需要權(quán)限 :ohos.permission.READ_MEDIA

系統(tǒng)能力 :SystemCapability.Multimedia.MediaLibrary.Core

參數(shù):

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

返回值:

類型說明
PromisePromise返回縮略圖的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

將文件設(shè)置為收藏文件,使用callback方式返回異步結(jié)果。

需要權(quán)限 :ohos.permission.READ_MEDIA, ohos.permission.WRITE_MEDIA

系統(tǒng)能力 :SystemCapability.Multimedia.MediaLibrary.Core

參數(shù):

參數(shù)名類型必填說明
isFavoriteboolean是否設(shè)置為收藏文件, true:設(shè)置為收藏文件,false:取消收藏
callbackAsyncCallback回調(diào)返回空

示例:

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

將文件設(shè)置為收藏文件,使用promise方式返回異步結(jié)果。

需要權(quán)限 :ohos.permission.READ_MEDIA, ohos.permission.WRITE_MEDIA

系統(tǒng)能力 :SystemCapability.Multimedia.MediaLibrary.Core

參數(shù):

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

返回值:

類型說明
PromisePromise返回空

示例:

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): void

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

需要權(quán)限 :ohos.permission.READ_MEDIA

系統(tǒng)能力 :SystemCapability.Multimedia.MediaLibrary.Core

參數(shù):

參數(shù)名類型必填說明
callbackAsyncCallback回調(diào)表示是否為收藏文件

示例:

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

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

需要權(quán)限 :ohos.permission.READ_MEDIA

系統(tǒng)能力 :SystemCapability.Multimedia.MediaLibrary.Core

返回值:

類型說明
PromisePromise回調(diào)表示是否是收藏文件

示例:

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

當(dāng)文件被定位時(shí),將文件放到垃圾文件夾,使用callback方式返回異步結(jié)果。

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

需要權(quán)限 :ohos.permission.READ_MEDIA, ohos.permission.WRITE_MEDIA

系統(tǒng)能力 :SystemCapability.Multimedia.MediaLibrary.Core

參數(shù):

參數(shù)名類型必填說明
isTrashboolean是否設(shè)置為垃圾文件
callbackAsyncCallback回調(diào)返回空

示例:

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

當(dāng)文件被定位時(shí),將文件放到垃圾文件夾,使用promise方式返回異步結(jié)果。

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

需要權(quán)限 :ohos.permission.READ_MEDIA, ohos.permission.WRITE_MEDIA

系統(tǒng)能力 :SystemCapability.Multimedia.MediaLibrary.Core

參數(shù):

參數(shù)名類型必填說明
isTrashboolean是否設(shè)置為垃圾文件

返回值:

類型說明
PromisePromise返回空

示例:

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): void

當(dāng)文件被定位,判斷文件是否為垃圾文件,使用callback方式返回異步結(jié)果。

需要權(quán)限 :ohos.permission.READ_MEDIA

系統(tǒng)能力 :SystemCapability.Multimedia.MediaLibrary.Core

參數(shù):

參數(shù)名類型必填說明
callbackAsyncCallback回調(diào)返回表示文件是否為垃圾文件

示例:

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

當(dāng)文件被定位,判斷文件是否為垃圾文件,使用promise方式返回異步結(jié)果。

需要權(quán)限 :ohos.permission.READ_MEDIA

系統(tǒng)能力 :SystemCapability.Multimedia.MediaLibrary.Core

返回值:

類型說明
PromisePromise回調(diào)表示文件是否為垃圾文件

示例:

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+

文件檢索結(jié)果集。

getCount7+

getCount(): number

獲取文件檢索結(jié)果中的文件總數(shù)。

系統(tǒng)能力 :SystemCapability.Multimedia.MediaLibrary.Core

返回值

類型說明
number檢索到的文件總數(shù)

示例

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

檢查結(jié)果集是否指向最后一行。

系統(tǒng)能力 :SystemCapability.Multimedia.MediaLibrary.Core

返回值

類型說明
boolean當(dāng)讀到最后一條記錄后,后續(xù)沒有記錄返回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 實(shí)例并使其失效。無法調(diào)用其他方法。

系統(tǒng)能力 :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): void

獲取文件檢索結(jié)果中的第一個(gè)文件資產(chǎn)。此方法使用回調(diào)返回FileAsset。

系統(tǒng)能力 :SystemCapability.Multimedia.MediaLibrary.Core

參數(shù)

參數(shù)名類型必填說明
callbackAsyncCallback<[FileAsset]>異步獲取結(jié)果集中第一個(gè)FileAsset完成后的回調(diào)

示例

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

獲取文件檢索結(jié)果中的第一個(gè)文件資產(chǎn)。此方法使用Promise方式返回FileAsset。

系統(tǒng)能力 :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): void

獲取文件檢索結(jié)果中的下一個(gè)文件資產(chǎn)。此方法使用callback形式返回結(jié)果。

需要權(quán)限 :ohos.permission.READ_MEDIA

系統(tǒng)能力 :SystemCapability.Multimedia.MediaLibrary.Core

參數(shù)

參數(shù)名類型必填說明
callbackeAsyncCallback<[FileAsset]>異步返回結(jié)果集中下一個(gè)FileAsset之后的回調(diào)

示例

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

獲取文件檢索結(jié)果中的下一個(gè)文件資產(chǎn)。此方法使用promise方式來異步返回FileAsset。

需要權(quán)限 :ohos.permission.READ_MEDIA

系統(tǒng)能力 :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): void

獲取文件檢索結(jié)果中的最后一個(gè)文件資產(chǎn)。此方法使用callback回調(diào)來返回FileAsset。

系統(tǒng)能力 :SystemCapability.Multimedia.MediaLibrary.Core

參數(shù)

參數(shù)名類型必填說明
callbackAsyncCallback<[FileAsset]>異步返回FileAsset之后的回調(diào)

示例

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

獲取文件檢索結(jié)果中的最后一個(gè)文件資產(chǎn)。此方法使用Promise方式來返回FileAsset。

系統(tǒng)能力 :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): void

獲取文件檢索結(jié)果中具有指定索引的文件資產(chǎn)。此方法使用回調(diào)來返回FileAsset。

系統(tǒng)能力 :SystemCapability.Multimedia.MediaLibrary.Core

參數(shù)

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

示例

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

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

需要權(quán)限 :ohos.permission.READ_MEDIA

系統(tǒng)能力 :SystemCapability.Multimedia.MediaLibrary.Core

參數(shù)

參數(shù)名類型必填說明
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>): void

獲取文件檢索結(jié)果中的所有文件資產(chǎn)。此方法使用Callback回調(diào)來返回FileAsset結(jié)果集。

需要權(quán)限 :ohos.permission.READ_MEDIA

系統(tǒng)能力 :SystemCapability.Multimedia.MediaLibrary.Core

參數(shù)

參數(shù)名類型必填說明
callbackAsyncCallback>異步返回FileAsset列表之后的回調(diào)

示例

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>

獲取文件檢索結(jié)果中的所有文件資產(chǎn)。此方法使用Promise來返回FileAsset結(jié)果集。

系統(tǒng)能力 :SystemCapability.Multimedia.MediaLibrary.Core

返回值

類型說明
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);
    var data = fetchFileResult.getAllObject();
}

Album7+

實(shí)體相冊

屬性

系統(tǒng)能力: 以下各項(xiàng)對應(yīng)的系統(tǒng)能力均為SystemCapability.Multimedia.MediaLibrary.Core

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

commitModify8+

commitModify(callback: AsyncCallback): void

更新相冊屬性修改到數(shù)據(jù)庫中。

需要權(quán)限 :ohos.permission.READ_MEDIA, ohos.permission.WRITE_MEDIA

系統(tǒng)能力 :SystemCapability.Multimedia.MediaLibrary.Core

參數(shù)

參數(shù)名類型必填說明
callbackAsyncCallback回調(diào)返回空

示例

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

更新相冊屬性修改到數(shù)據(jù)庫中。

需要權(quán)限 :ohos.permission.READ_MEDIA, ohos.permission.WRITE_MEDIA

系統(tǒng)能力 :SystemCapability.Multimedia.MediaLibrary.Core

返回值

類型說明
PromisePromise調(diào)用返回空

示例

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): void

按照檢索條件獲取相冊中的文件。此方法使用Callback回調(diào)來返回文件結(jié)果集。

需要權(quán)限 :ohos.permission.READ_MEDIA

系統(tǒng)能力 :SystemCapability.Multimedia.MediaLibrary.Core

參數(shù)

參數(shù)名類型必填說明
options[MediaFetchOptions]媒體檢索選項(xiàng)。
callbackAsyncCallback<[FetchFileResult]>異步返回FetchFileResult之后的回調(diào)。

示例

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

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

需要權(quán)限 :ohos.permission.READ_MEDIA

系統(tǒng)能力 :SystemCapability.Multimedia.MediaLibrary.Core

參數(shù)

參數(shù)名類型必填說明
options[MediaFetchOptions]媒體檢索選項(xiàng)。

返回值

類型說明
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+

注冊設(shè)備的信息。

系統(tǒng)能力: 以下各項(xiàng)對應(yīng)的系統(tǒng)能力均為SystemCapability.Multimedia.MediaLibrary.Core

名稱類型可讀可寫說明
deviceNamestring注冊設(shè)備的名稱
networkIdstring注冊設(shè)備的網(wǎng)絡(luò)ID
deviceType[DeviceType]設(shè)備類型
isOnlineboolean是否在線

MediaType8+

枚舉,媒體類型。

系統(tǒng)能力: 以下各項(xiàng)對應(yīng)的系統(tǒng)能力均為SystemCapability.Multimedia.MediaLibrary.Core

名稱默認(rèn)值說明
FILE1文件
IMAGE3圖片
VIDEO4視頻
AUDIO5音頻

FileKey8+

枚舉,文件關(guān)鍵信息。

系統(tǒng)能力: 以下各項(xiàng)對應(yīng)的系統(tǒng)能力均為SystemCapability.Multimedia.MediaLibrary.Core

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

DirectoryType8+

枚舉,目錄類型。

系統(tǒng)能力: 以下各項(xiàng)對應(yīng)的系統(tǒng)能力均為SystemCapability.Multimedia.MediaLibrary.Core

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

DeviceType8+

枚舉,設(shè)備類型。

系統(tǒng)能力: 以下各項(xiàng)對應(yīng)的系統(tǒng)能力均為SystemCapability.Multimedia.MediaLibrary.Core

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

MediaFetchOptions7+

檢索條件。

系統(tǒng)能力: 以下各項(xiàng)對應(yīng)的系統(tǒng)能力均為SystemCapability.Multimedia.MediaLibrary.Core

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

Size8+

圖片尺寸。

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

MediaAssetOption(deprecated)

媒體資源選項(xiàng)。

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

系統(tǒng)能力: 以下各項(xiàng)對應(yīng)的系統(tǒng)能力均為SystemCapability.Multimedia.MediaLibrary.Core

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

MediaSelectOption(deprecated)

媒體資源類型選項(xiàng)。

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

系統(tǒng)能力: 以下各項(xiàng)對應(yīng)的系統(tǒng)能力均為SystemCapability.Multimedia.MediaLibrary.Core

鴻蒙文檔.png

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

審核編輯 黃宇

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報(bào)投訴
  • 接口
    +關(guān)注

    關(guān)注

    33

    文章

    8497

    瀏覽量

    150834
  • 鴻蒙
    +關(guān)注

    關(guān)注

    57

    文章

    2309

    瀏覽量

    42740
收藏 人收藏

    評論

    相關(guān)推薦

    OpenHarmony 3.2 Beta多媒體子系統(tǒng)的媒體庫模塊

    OpenAtom OpenHarmony(以下簡稱“OpenHarmony”)MediaLibrary媒體庫提供了一系列易用的接口用于獲取媒體文件元數(shù)據(jù)信息。
    的頭像 發(fā)表于 09-16 09:50 ?1571次閱讀

    鴻蒙開發(fā)接口媒體:【@ohos.multimedia.audio (音頻管理)】

    音頻管理提供管理音頻的一些基礎(chǔ)能力,包括對音頻音量、音頻設(shè)備的管理,以及對音頻數(shù)據(jù)的采集和渲染等。
    的頭像 發(fā)表于 05-31 09:53 ?2253次閱讀
    <b class='flag-5'>鴻蒙</b><b class='flag-5'>開發(fā)</b><b class='flag-5'>接口</b><b class='flag-5'>媒體</b>:【@<b class='flag-5'>ohos.multimedia</b>.audio (音頻<b class='flag-5'>管理</b>)】

    鴻蒙開發(fā)接口媒體:【@ohos.multimedia.camera (相機(jī)管理)】

    本模塊首批接口從API version 9開始支持。后續(xù)版本的新增接口,采用上角標(biāo)單獨(dú)標(biāo)記接口的起始版本。
    的頭像 發(fā)表于 05-31 09:42 ?1440次閱讀
    <b class='flag-5'>鴻蒙</b><b class='flag-5'>開發(fā)</b><b class='flag-5'>接口</b><b class='flag-5'>媒體</b>:【@<b class='flag-5'>ohos.multimedia</b>.camera (相機(jī)<b class='flag-5'>管理</b>)】

    鴻蒙開發(fā)接口媒體:【@ohos.multimedia.image (圖片處理)】

    本模塊首批接口從API version 6開始支持。后續(xù)版本的新增接口,采用上角標(biāo)單獨(dú)標(biāo)記接口的起始版本。
    的頭像 發(fā)表于 05-31 16:58 ?1376次閱讀
    <b class='flag-5'>鴻蒙</b><b class='flag-5'>開發(fā)</b><b class='flag-5'>接口</b><b class='flag-5'>媒體</b>:【@<b class='flag-5'>ohos.multimedia</b>.image (圖片處理)】

    基于WEB的多媒體素材管理開發(fā)與應(yīng)用

    計(jì)算機(jī)專業(yè)畢業(yè)設(shè)計(jì)題目大全一、ASP類計(jì)算機(jī)專業(yè)畢業(yè)設(shè)計(jì)題目1.網(wǎng)絡(luò)留言薄2.客戶管理系統(tǒng)3.多媒體積件管理開發(fā)與應(yīng)用4.基于WEB的多
    發(fā)表于 07-19 09:30

    HarmonyOS API Version 7版本特性說明

    ,主要包含音視頻、媒體庫、圖片編解碼等媒體能力,支撐了X1圖庫的商用訴求,同步助力HarmonyOS北向生態(tài)拓展。圖5 多媒體子系統(tǒng)新增接口@oho
    發(fā)表于 11-30 15:19

    HarmonyOS API Version 7版本特性說明

    ,主要包含音視頻、媒體庫、圖片編解碼等媒體能力,支撐了X1圖庫的商用訴求,同步助力HarmonyOS北向生態(tài)拓展。圖5 多媒體子系統(tǒng)新增接口@oho
    發(fā)表于 12-01 10:35

    OpenHarmony 3.2 Beta源碼分析之MediaLibrary

    ”)MediaLibrary媒體庫提供了一系列易用的接口用于獲取媒體文件元數(shù)據(jù)信息。MediaLibrary
    發(fā)表于 09-19 10:47

    HarmonyOS/OpenHarmony應(yīng)用開發(fā)-ArkTSAPI系統(tǒng)能力SystemCapability列表

    SystemCapability.Multimedia.Image.ImageCreator:圖像創(chuàng)建能力 SystemCapability.Multimedia.MediaLibrary.Core:媒體庫基礎(chǔ)能力
    發(fā)表于 08-11 10:08

    鴻蒙開發(fā)UI界面——@ohos.mediaquery (媒體查詢)

    導(dǎo)入模塊 ? import mediaquery from '@ohos.mediaquery' ? mediaquery.matchMediaSync matchMediaSync
    的頭像 發(fā)表于 02-22 16:46 ?740次閱讀

    鴻蒙實(shí)戰(zhàn)開發(fā):【相機(jī)和媒體庫

    在ArkTS中調(diào)用相機(jī)拍照和錄像,以及如何使用媒體庫接口進(jìn)行媒體文件的增、刪、改、查操作。本示例用到了
    的頭像 發(fā)表于 03-20 16:36 ?731次閱讀
    <b class='flag-5'>鴻蒙</b>實(shí)戰(zhàn)<b class='flag-5'>開發(fā)</b>:【相機(jī)和<b class='flag-5'>媒體庫</b>】

    鴻蒙開發(fā)實(shí)戰(zhàn):【文件管理

    文件管理相關(guān)的功能,使用[@ohos.multimedia.medialibrary]、[@ohos.filemanagement.userFileManager]?、[@ohos
    的頭像 發(fā)表于 03-20 21:57 ?615次閱讀
    <b class='flag-5'>鴻蒙</b><b class='flag-5'>開發(fā)</b>實(shí)戰(zhàn):【文件<b class='flag-5'>管理</b>】

    網(wǎng)易推出Filmly媒體庫播放器,支持網(wǎng)盤影視資源直連

     5 月 6 日報(bào)道,據(jù) IT 之家的撰稿人介紹,網(wǎng)易近期推出了一款名為“網(wǎng)易 Filmly”的媒體庫播放器應(yīng)用。其功能與知名媒體庫軟件Infuse相仿,并具備直接連接網(wǎng)盤影視資源(目前兼容阿里云盤及百度網(wǎng)盤)的能力。
    的頭像 發(fā)表于 05-06 14:19 ?883次閱讀

    鴻蒙開發(fā)接口媒體:【@ohos.multimedia.media (媒體服務(wù))】

    媒體子系統(tǒng)為開發(fā)者提供一套簡單且易于理解的接口,使得開發(fā)者能夠方便接入系統(tǒng)并使用系統(tǒng)的媒體資源。
    的頭像 發(fā)表于 06-06 11:03 ?740次閱讀
    <b class='flag-5'>鴻蒙</b><b class='flag-5'>開發(fā)</b><b class='flag-5'>接口</b><b class='flag-5'>媒體</b>:【@<b class='flag-5'>ohos.multimedia</b>.media (<b class='flag-5'>媒體</b>服務(wù))】

    鴻蒙開發(fā)文件管理:【@ohos.fileManager (公共文件訪問與管理)】

    該模塊提供公共文件訪問和管理的服務(wù)接口,向下對接底層文件管理服務(wù),如媒體庫、外卡管理;向上對應(yīng)用程序提供公共文件查詢、創(chuàng)建的能力。
    的頭像 發(fā)表于 06-12 17:00 ?768次閱讀
    <b class='flag-5'>鴻蒙</b><b class='flag-5'>開發(fā)</b>文件<b class='flag-5'>管理</b>:【@<b class='flag-5'>ohos</b>.fileManager (公共文件訪問與<b class='flag-5'>管理</b>)】