成人无码视频,亚洲精品久久久久av无码,午夜精品久久久久久毛片,亚洲 中文字幕 日韩 无码

資訊專欄INFORMATION COLUMN

解決通過MediaMetadataRetriever獲取音頻文件時(shí)長不準(zhǔn)確的問題

CoderDock / 3984人閱讀

摘要:在中,獲取音頻文件的信息可以通過這個(gè)類來獲取,比如獲取文件的時(shí)長,通過如下方法來獲取但是,通過這種方法獲取的可能不準(zhǔn)確,對于格式的,可能遠(yuǎn)遠(yuǎn)比真實(shí)的長度小。對于這個(gè)問題,可以用比特率和文件大小來計(jì)算單位,秒通過這種方式得到的值是比較準(zhǔn)確的

在Android中,獲取音頻文件的信息可以通過 MediaMetadataRetriever 這個(gè)類來獲取,比如獲取文件的時(shí)長,通過如下方法來獲?。?/p>

MediaMetadataRetriever mmr = new MediaMetadataRetriever();
try {
    mmr.setDataSource(file.getFile().getAbsolutePath());
    String strDuration = mmr.extractMetadata(MediaMetadataRetriever.METADATA_KEY_DURATION);
    long duration = Long.valueOf(strDuration);
}catch (Exception e){

}
  

但是,通過這種方法獲取的duration可能不準(zhǔn)確,對于VBR格式的mp3,duration可能遠(yuǎn)遠(yuǎn)比真實(shí)的長度小。對于這個(gè)問題,可以用比特率和文件大小來計(jì)算:

long fileSize = file.getFile().length();
long bitRate = Long.parseLong(mmr.extractMetadata(MediaMetadataRetriever.METADATA_KEY_BITRATE));
long duration = (fileSize*8) /(bitRate);//單位,秒

通過這種方式得到的duration值是比較準(zhǔn)確的

文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請注明本文地址:http://m.hztianpu.com/yun/67081.html

相關(guān)文章

  • Audio: 如果你愿意一層一層剝開我

    摘要:基本用法屬性目前只支持你可以看出他們在里表現(xiàn)的差異關(guān)于標(biāo)簽支持的音頻類型,可以參考常用屬性音頻流文件就緒后是否自動(dòng)播放無需預(yù)加載只需要加載元數(shù)據(jù),例如音頻時(shí)長,文件大小等。 我覺得DOM就好像是元素周期表里的元素,JS就好像是實(shí)驗(yàn)器材,通過各種化學(xué)反應(yīng),產(chǎn)生各種魔術(shù)。 showImg(https://segmentfault.com/img/bVO9vK?w=1440&h=814); ...

    wangjuntytl 評論0 收藏0

發(fā)表評論

0條評論

閱讀需要支付1元查看
<