HarmonyOS鸿蒙Next中如何获取音频时长和大小

HarmonyOS鸿蒙Next中如何获取音频时长和大小 AudioViewPicker 获取本地音频后,如何得到音频文件的大小和音频的总时长

3 回复

获取媒体文件的时长信息可以通过AVMetadataExtractor获取媒体文件的元数据获取到文件的时长等信息,获取文件大小可以通过fs.lstatSync获取

具体使用可以参考文档:

AVMetadataExtractor

lstatSync

更多关于HarmonyOS鸿蒙Next中如何获取音频时长和大小的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html


在HarmonyOS鸿蒙Next中,获取音频时长和大小可以通过AVPlayerAVFileDescriptor来实现。首先,使用AVPlayer加载音频文件,然后通过getDuration()方法获取音频时长。音频大小可以通过AVFileDescriptorgetFileSize()方法获取。

具体步骤如下:

  1. 使用AVPlayer加载音频文件。
  2. 调用getDuration()方法获取音频时长,单位为毫秒。
  3. 使用AVFileDescriptor打开音频文件,调用getFileSize()方法获取音频大小,单位为字节。

示例代码片段:

import media from '@ohos.multimedia.media';

let avPlayer = media.createAVPlayer();
avPlayer.src = 'path/to/audio/file';
avPlayer.prepare((err) => {
    if (!err) {
        let duration = avPlayer.getDuration(); // 获取音频时长
        console.log('Audio duration: ' + duration + ' ms');
    }
});

let fd = media.createAVFileDescriptor('path/to/audio/file');
let fileSize = fd.getFileSize(); // 获取音频大小
console.log('Audio size: ' + fileSize + ' bytes');

通过以上方法可以准确获取音频文件的时长和大小。

在HarmonyOS鸿蒙Next中,可以通过AVPlayerAVFileDescriptor来获取音频文件的时长和大小。以下是具体步骤:

  1. 获取音频时长

    • 使用AVPlayer初始化音频文件后,调用getDuration()方法获取音频时长,单位为毫秒。
    • 示例代码:
      AVPlayer avPlayer = new AVPlayer(context);
      avPlayer.setSource(new AVFileDescriptor(filePath));
      long duration = avPlayer.getDuration();
      
  2. 获取音频大小

    • 使用File类获取音频文件的大小,单位为字节。
    • 示例代码:
      File audioFile = new File(filePath);
      long fileSize = audioFile.length();
      

通过这些方法,可以轻松获取音频文件的时长和大小。

回到顶部