You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何将WAV文件已读取字节数转换为对应播放时长(秒)

WAV已读取字节数转播放时长计算方法

首先你需要提前从WAV文件头中获取*采样率(SampleRate,单位Hz,即每秒的采样次数)*参数,结合已有的声道数NumOfChan、采样位深bitsPerSample,按以下步骤计算即可:

  • 第一步:计算每秒音频占用的字节数
    公式如下:

    // 1字节=8位,最后除以8做单位转换
    int bytes_per_second = SampleRate * NumOfChan * bitsPerSample / 8;
    
  • 第二步:用实际读取的字节数计算对应播放时长
    你代码中fread返回的nRead就是实际读取到的有效字节数,直接除以每秒字节数即可得到秒级时长:

    double play_duration = (double)nRead / bytes_per_second;
    

补充说明

你代码里计算出的size_buffer是整个数据块的总采样帧数,用这个值除以采样率就能得到整个WAV文件的总播放时长:

double total_duration = (double)size_buffer / SampleRate;

内容的提问来源于stack exchange,提问作者Omar

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.24 10:15:09