Android从存储中获取所选音频文件的持续时间

 beijing750 发布于 2023-02-06 14:00

我想从存储中获取所选音频文件的持续时间.到目前为止我所取得的成就是我得到了音频文件的名称.但我想得到mp3文件的持续时间.我怎样才能做到这一点?查看音频文件时,它们显示在列表视图中,每个文件的右侧显示为持续时间.我想获得持续时间字符串.但我不知道该怎么做.

这是我正在处理的代码:

  public void onActivityResult(int requestCode, int resultCode, Intent data) {

    if (resultCode == RESULT_OK) {

        if (requestCode == SELECT_AUDIO)
        {
            System.out.println("SELECT_AUDIO");
            Uri selectedAudioUri = data.getData();
            uploadFilePath = getPath(selectedAudioUri);
            System.out.println("SELECT_AUDIO Path : " + uploadFilePath);
            etSongTitle.setText(uploadFilePath);

        }   

    }
}

你有什么想法来获得持续时间吗?非常感谢帮助谢谢.

1 个回答
  • 您可以使用MediaMetadataRetriever获取歌曲的持续时间.将METADATA_KEY_DURATION与extractMetadata()函数结合使用.

       // load data file
       MediaMetadataRetriever metaRetriever = new MediaMetadataRetriever();
       metaRetriever.setDataSource(filePath);
    
       String out = "";
       // get mp3 info
    
      // convert duration to minute:seconds
      String duration =  
      metaRetriever.extractMetadata(MediaMetadataRetriever.METADATA_KEY_DURATION);
      Log.v("time", duration);
      long dur = Long.parseLong(duration);
      String seconds = String.valueOf((dur % 60000) / 1000);
    
      // close object
      metaRetriever.release();
    

    在android中获取mp3持续时间

    2023-02-06 14:02 回答
撰写答案
今天,你开发时遇到什么问题呢?
立即提问
热门标签
PHP1.CN | 中国最专业的PHP中文社区 | PNG素材下载 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有