在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

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

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

媒體庫管理

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。

返回值:

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

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

返回值:

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

示例:

var media = mediaLibrary.getMediaLibrary();

MediaLibrary

getFileAssets7+

getFileAssets(options: MediaFetchOptions, callback: AsyncCallback): 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

獲取文件資源,使用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

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

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

參數:

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

示例:

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

off8+

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

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

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

參數:

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

示例:

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

createAsset 8+

createAsset(mediaType: MediaType, displayName: string, relativePath: string, callback: AsyncCallback): 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

創建媒體資源,使用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): void

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

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

參數:

參數名類型必填說明
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方式返回結果。

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

參數:

參數名類型必填說明
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 方式返回結果。

需要權限 :ohos.permission.READ_MEDIA

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

參數

參數名類型必填說明
options[MediaFetchOptions]相冊獲取條件
callbackAsyncCallback>異步獲取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>

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

需要權限 :ohos.permission.READ_MEDIA

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

參數:

參數名類型必填說明
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實例。 當后續不需要使用MediaLibrary實例中的方法時調用。

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

參數:

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

示例:

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

release8+

release(): Promise

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

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

返回值:

類型說明
PromisePromise實例,用于獲取異步返回結果

示例:

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

storeMediaAsset(deprecated)

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

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

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

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

參數:

參數名類型必填說明
option[MediaAssetOption]媒體資源選項。
callbackAsyncCallback媒體資源保存回調,返回保存成功后得到的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形式返回結果。

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

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

參數:

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

返回值:

類型說明
PromisePromise實例,用于異步獲取保存成功后得到的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

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

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

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

參數:

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

示例:

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, callback: AsyncCallback): void

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

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

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

參數:

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

示例:

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, index?: number): Promise

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

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

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

參數:

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

返回值:

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

示例:

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

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

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

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

參數:

參數名類型必填說明
option[MediaSelectOption]媒體選擇選項。
callbackAsyncCallback>媒體選擇回調,返回選擇的媒體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形式返回結果。

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

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

參數:

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

返回值:

類型說明
Promise>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文件大?。▎挝唬鹤止潱?/td>
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): void

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

需要權限 :ohos.permission.READ_MEDIA

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

參數:

參數名類型必填說明
callbackAsyncCallback當前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

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

需要權限 :ohos.permission.READ_MEDIA

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

返回值:

類型說明
PromisePromise實例,返回當前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

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

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

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

參數:

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

示例:

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

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

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

系統能力 :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

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

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

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

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

參數

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

示例:

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

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

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

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

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

參數:

參數名類型必填說明
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

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

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

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

參數:

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

示例:

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

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

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

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

參數:

參數名類型必填說明
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方式返回異步結果。

需要權限 :ohos.permission.READ_MEDIA

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

參數:

參數名類型必填說明
callbackAsyncCallback回調返回縮略圖的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方式返回異步結果。

需要權限 :ohos.permission.READ_MEDIA

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

參數:

參數名類型必填說明
size[Size]縮略圖尺寸
callbackAsyncCallback回調返回縮略圖的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方式返回異步結果。

需要權限 :ohos.permission.READ_MEDIA

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

參數:

參數名類型必填說明
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

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

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

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

參數:

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

示例:

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

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

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

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

參數:

參數名類型必填說明
isFavoriteboolean是否設置為收藏文件, true:設置為收藏文件,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方式返回異步結果。

需要權限 :ohos.permission.READ_MEDIA

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

參數:

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

示例:

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方式返回異步結果。

需要權限 :ohos.permission.READ_MEDIA

系統能力 :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.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

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

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

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

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

參數:

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

示例:

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

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

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

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

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

參數:

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

返回值:

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

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

需要權限 :ohos.permission.READ_MEDIA

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

參數:

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

示例:

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

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

需要權限 :ohos.permission.READ_MEDIA

系統能力 :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.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): 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

獲取文件檢索結果中的第一個文件資產。此方法使用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): 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

獲取文件檢索結果中的下一個文件資產。此方法使用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): 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

獲取文件檢索結果中的最后一個文件資產。此方法使用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): 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

獲取文件檢索結果中具有指定索引的文件資產。此方法使用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>): void

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

需要權限 :ohos.permission.READ_MEDIA

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

參數

參數名類型必填說明
callbackAsyncCallback>異步返回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>

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

系統能力 :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+

實體相冊

屬性

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

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

commitModify8+

commitModify(callback: AsyncCallback): void

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

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

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

參數

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

示例

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

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

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

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

返回值

類型說明
PromisePromise調用返回空

示例

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回調來返回文件結果集。

需要權限 :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

按照檢索條件獲取相冊中的文件。此方法使用異步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文件大?。▎挝唬鹤止潱?/td>
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: mediaLiary.FileKey.MEDIA_TYPE + '= ? OR' +mediaLiary.FileKey.MEDIA_TYPE + '= ?‘,
selectionArgsArray檢索條件的值,對應selections中檢索條件列的值。 示例: selectionArgs: [mediaLiary.MediaType.IMAGE.toString(), mediaLiary.MediaType.VIDEO.toString()],
orderstring檢索結果排序方式,使用[FileKey]中的枚舉值作為檢索結果排序的列,可以用升序或降序排列。示例: 升序排列:order: mediaLiary.FileKey.DATE_ADDED + " AESC" 降序排列:order: mediaLiary.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

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

審核編輯 黃宇

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 接口
    +關注

    關注

    33

    文章

    8615

    瀏覽量

    151311
  • 鴻蒙
    +關注

    關注

    57

    文章

    2363

    瀏覽量

    42887
收藏 人收藏

    評論

    相關推薦

    OpenHarmony 3.2 Beta多媒體子系統的媒體庫模塊

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

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

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

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

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

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

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

    基于WEB的多媒體素材管理開發與應用

    計算機專業畢業設計題目大全一、ASP類計算機專業畢業設計題目1.網絡留言薄2.客戶管理系統3.多媒體積件管理開發與應用4.基于WEB的多
    發表于 07-19 09:30

    HarmonyOS API Version 7版本特性說明

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

    HarmonyOS API Version 7版本特性說明

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

    OpenHarmony 3.2 Beta源碼分析之MediaLibrary

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

    HarmonyOS/OpenHarmony應用開發-ArkTSAPI系統能力SystemCapability列表

    SystemCapability.Multimedia.Image.ImageCreator:圖像創建能力 SystemCapability.Multimedia.MediaLibrary.Core:媒體庫基礎能力
    發表于 08-11 10:08

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

    導入模塊 ? import mediaquery from '@ohos.mediaquery' ? mediaquery.matchMediaSync matchMediaSync
    的頭像 發表于 02-22 16:46 ?828次閱讀

    鴻蒙實戰開發:【相機和媒體庫

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

    鴻蒙開發實戰:【文件管理

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

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

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

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

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

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

    該模塊提供公共文件訪問和管理的服務接口,向下對接底層文件管理服務,如媒體庫、外卡管理;向上對應用程序提供公共文件查詢、創建的能力。
    的頭像 發表于 06-12 17:00 ?930次閱讀
    <b class='flag-5'>鴻蒙</b><b class='flag-5'>開發</b>文件<b class='flag-5'>管理</b>:【@<b class='flag-5'>ohos</b>.fileManager (公共文件訪問與<b class='flag-5'>管理</b>)】
    主站蜘蛛池模板: 国产精品福利一区二区亚瑟 | 91九色成人| 美女黄色在线| 三级网站在线| 四虎永久在线精品国产免费 | 国产网站在线播放| 韩国r天堂| 激情免费视频| 精品国产_亚洲人成在线高清| 久久综合色区| 美女视频网站色| 久久精品视频观看| 狠狠躁夜夜躁人人爽天天段| 国内自拍露脸普通话对白在线| 国模一区二区三区私啪啪| 国产精品亚洲一区二区三区在线播放 | 伊人玖玖| 午夜精品在线免费观看| 午夜免费看视频| 国产成都一二三四区| 成人av.com| 亚洲国产色图| 亚洲天堂一区二区三区| 色wwww| 亚洲成人高清在线| 成人三级网址| 性色影院| 欧美刺激午夜性久久久久久久| 久久精品免费观看视频| 91久娇草| 国产伦一区二区三区免费| 91视频观看| 一级毛片免费全部播放完整| 色第一页| 国产成人精品亚洲77美色| 手机福利在线| 色综合啪啪| 国产午夜剧场| 一区二区三区四区视频在线| 亚洲最大成人| 噜噜色网|