日韩无码专区无码一级三级片|91人人爱网站中日韩无码电影|厨房大战丰满熟妇|AV高清无码在线免费观看|另类AV日韩少妇熟女|中文日本大黄一级黄色片|色情在线视频免费|亚洲成人特黄a片|黄片wwwav色图欧美|欧亚乱色一区二区三区

RELATEED CONSULTING
相關咨詢
選擇下列產品馬上在線溝通
服務時間:8:30-17:00
你可能遇到了下面的問題
關閉右側工具欄

新聞中心

這里有您想知道的互聯(lián)網營銷解決方案
創(chuàng)新互聯(lián)鴻蒙OS教程:鴻蒙OS媒體存儲數(shù)據(jù)操作開發(fā)指導

場景介紹

媒體存儲是提供了操作媒體圖片、視頻、音頻等元數(shù)據(jù)的Uri 鏈接信息。

接口說明

接口名 描述
appendPendingResource(Uri uri)更新給定的 Uri,用于處理包含待處理標記的媒體項。
appendRequireOriginalResource(Uri uri)更新給定的 Uri, 用于調用者獲取原始文件內容。
fetchVolumeName(Uri uri)獲取給定 Uri 所屬的卷名。
fetchExternalVolumeNames(Context context)獲取所有組成 external 的特定卷名的列表。
fetchMediaResource(Context context, Uri documentUri)根據(jù)文檔式的 Uri 獲取對應的媒體式的Uri。
fetchDocumentResource(Context context, Uri mediaUri)根據(jù)媒體式的 Uri 獲取對應的文檔式的Uri。
fetchVersion(Context context)獲取卷名為 external_primary 的不透明版本信息。
fetchVersion(Context context, String volumeName)獲取指定卷名的不透明版本信息。
fetchLoggerResource()獲取用于查詢媒體掃描狀態(tài)的 Uri。
Audio.convertNameToKey(String name)將藝術家或者專輯名稱轉換為可用于分組,排序和搜索的“key”。
Audio.Media.fetchResource(String volumeName)獲取用于處理音頻媒體信息的 Uri。
Audio.Genres.fetchResource(String volumeName)獲取用于處理音頻流派信息的 Uri。
Audio.Genres.fetchResourceForAudioId(String volumeName, int audioId)獲取用戶處理音頻文件對應的流派信息的 Uri。
Audio.Genres.Members.fetchResource(String volumeName, long genreId)獲取用于處理音頻流派子目錄的成員信息的 Uri。
Audio.Playlists.fetchResource(String volumeName)獲取用于處理音頻播放列表信息的 Uri。
Audio.Playlists.Members.fetchResource(String volumeName, long playlistId)獲取用于處理音頻播放列表子目錄的成員信息的 Uri。
Audio.Playlists.Members.updatePlaylistItem(DataAbilityHelper dataAbilityHelper, long playlistId, int oldLocation, int newLocation)移動播放列表到新位置。
Audio.Albums.fetchResource(String volumeName)獲取用于處理音頻專輯信息的 Uri。
Audio.Artists.fetchResource(String volumeName)獲取用于處理音頻藝術家信息的 Uri。
Audio.Artists.Albums.fetchResource(String volumeName, long id)獲取用于處理所有專輯出現(xiàn)藝術家的歌曲信息的 Uri。
Audio.Downloads.fetchResource(String volumeName)獲取用于處理下載條目信息的 Uri。
Audio.Files.fetchResource(String volumeName)獲取用于處理媒體文件及非媒體文件(文本,HTML,PDF等)的 Uri。
Audio.Images.Media.fetchResource(String volumeName)獲取用于處理圖像媒體信息的 Uri。
Audio.Video.Media.fetchResource(String volumeName)獲取用于處理視頻媒體信息的 Uri。

開發(fā)步驟

以播放視頻文件為例:

  1. 獲取媒體外部存儲提供的Uri鏈接。
   AVStorage.Video.Media.EXTERNAL_DATA_ABILITY_URI

  1. 根據(jù)媒體存儲提供的Uri鏈接操作媒體元數(shù)據(jù)。
   DataAbilityHelper helper = getDataAbilityHelper(context);
   try {
       DataAbilityPredicates predicates = new DataAbilityPredicates();
       // 設置查詢過濾條件
       predicates.equalTo(AVStorage.Video.Media.DATA, "xxxxx");
        // columns為null,查詢記錄所有字段,當前例子表示查詢id字段
       ResultSet result = helper.query(AVStorage.Video.Media.EXTERNAL_DATA_ABILITY_URI, new String[]{AVStorage.Video.Media.ID}, predicates);
       if (result == null) {
           return;
       }
       while (result.goToNextRow()) {
           result.getInt(result.getColumnIndexForName(AVStorage.Video.Media.ID)); // 獲取id字段的值
       }
       result.close();
   } catch (DataAbilityRemoteException e) {
       // ...
   }

  1. 獲取到媒體 ID 后,即可通過設置媒體源來進行業(yè)務操作,如:播放。
   Uri uri = Uri.appendEncodedPathToUri?(AVStore.Video.Media.EXTERNAL_DATA_ABILITY_URI, String.valueOf(id)); // id為步驟2獲取到的id
   Player player = new Player(context);
   DataAbilityHelper helper = getDataAbilityHelper(context);
   player.setSource(new Source(helper.openFile(uri, "r")));

本文名稱:創(chuàng)新互聯(lián)鴻蒙OS教程:鴻蒙OS媒體存儲數(shù)據(jù)操作開發(fā)指導
網址分享:http://www.5511xx.com/article/coeojgg.html