日本综合一区二区|亚洲中文天堂综合|日韩欧美自拍一区|男女精品天堂一区|欧美自拍第6页亚洲成人精品一区|亚洲黄色天堂一区二区成人|超碰91偷拍第一页|日韩av夜夜嗨中文字幕|久久蜜综合视频官网|精美人妻一区二区三区

RELATEED CONSULTING
相關(guān)咨詢
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時(shí)間:8:30-17:00
你可能遇到了下面的問(wèn)題
關(guān)閉右側(cè)工具欄

新聞中心

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

場(chǎng)景介紹

媒體元數(shù)據(jù)主要用于媒體數(shù)據(jù)的存放和讀取,包含諸如媒體資源的描述、創(chuàng)建日期、作者、封面圖片等等。

接口說(shuō)明

接口名 功能描述
Builder()媒體元數(shù)據(jù)構(gòu)造器的構(gòu)造函數(shù)。
Builder(AVMetadata source)媒體元數(shù)據(jù)構(gòu)造器的帶參構(gòu)造函數(shù)。
setText(String key, CharSequence value)用于存儲(chǔ)媒體標(biāo)題等信息。
setString(String key, String value)用于存儲(chǔ)媒體作者、藝術(shù)家、描述等。
setLong(String key, long value)用于存儲(chǔ)媒體 ID、媒體時(shí)長(zhǎng)等信息。
setPixelMap(String key, PixelMap value)用于存儲(chǔ)媒體元數(shù)據(jù)相關(guān)的圖片資源。
build()媒體元數(shù)據(jù)生成函數(shù)。
接口名 功能描述
hasKey(String key)媒體元數(shù)據(jù)中是否包含某一個(gè) key 的數(shù)據(jù)。
getText(String key)獲取 text 類型的 key 的數(shù)據(jù),比如獲取媒體標(biāo)題等信息。
getString(String key)獲取 String 類型 key 的數(shù)據(jù),比如獲取媒體作者、藝術(shù)家、描述等。
getLong(String key)獲取 Long 類型 key 數(shù)據(jù),比如獲取媒體 ID、媒體時(shí)長(zhǎng)等信息。
getKeysSet()獲取媒體元數(shù)據(jù)的集合。
getPixelMap(String key)獲取 PixelMap 類型 key 數(shù)據(jù),獲取媒體元數(shù)據(jù)相關(guān)的圖片資源。
marshalling(Parcel in)將一個(gè) AVMetadata 對(duì)象寫入到 Parcel 對(duì)象。
getAVDescription()獲取媒體的簡(jiǎn)要描述信息。

開發(fā)步驟

  1. 調(diào)用 AVMetadata.Builder 類的 build 方法創(chuàng)建 AVMetadata 實(shí)例。代碼示例如下:
   AVMetadata avMetadata = new AVMetadata.Builder().setString(AVMetadata.AVTextKey.MEDIA_ID, "illuminate.mp3")
                     .setString(AVMetadata.AVTextKey.TITLE, "title")
                     .setString(AVMetadata.AVTextKey.ARTIST, "artist")
                     .setString(AVMetadata.AVTextKey.ALBUM, "album")
                     .setString(AVMetadata.AVTextKey.DISPLAY_SUBTITLE, "display_subtitle")
                     .setPixelMap(AVMetadata.AVPixelMapKey.DISPLAY_ICON_URI, pixelmap)
                     .build();

  1. (可選)根據(jù)已有的 AVMetadata 對(duì)象,可以獲取媒體元數(shù)據(jù)信息,如獲取媒體標(biāo)題等,代碼示例如下:
   String title = avMetadata.getString(AVMetadata.AVTextKey.TITLE); 

  1. 我們需要結(jié)合 AVSession 使用,將已有的媒體元數(shù)據(jù) AVMetadata 對(duì)象下發(fā)給應(yīng)用,具體參考 AVSession 使用,示例如下:
   mediaSession.setAVMetadata(avMetadata);

  1. 應(yīng)用獲取媒體元數(shù)據(jù)一般結(jié)合 AVControllerCallback 相關(guān)類使用,通過(guò) onAVMetadataChanged 回調(diào)獲取媒體元數(shù)據(jù)。
   public class Callback extends AVControllerCallback {
       @Override
       public void onAVMetadataChanged(AVMetadata metadata) {
           // 歌曲信息回調(diào)
           AVDescription description = metadata.getAVDescription();
           // 獲取標(biāo)題
           String title = description.getTitle().toString();
           CharSequence sequence = metadata.getText(AVMetadata.AVTextKey.TITLE);
           if (sequence != null) {
               title = metadata.getText(AVMetadata.AVTextKey.TITLE).toString();
           }
           // 設(shè)置媒體title
           musicTitle.setText(title);
           // 獲取曲目專封面
           PixelMap iconPixelMap = description.getIcon();
           // 設(shè)置歌曲封面圖
           musicCover.setPixelMap(iconPixelMap);
       }
   }

當(dāng)前名稱:創(chuàng)新互聯(lián)鴻蒙OS教程:鴻蒙OS媒體元數(shù)據(jù)開發(fā)指導(dǎo)
本文鏈接:http://www.dlmjj.cn/article/djoiijj.html