【Python】测量WAV文件播放时长

问题

windows播放WAV音频文件,一般使用API函数,如PlaySound。实际使用发现,从调用PlaySound到实际开始播放存在200ms以上的延时,在游戏编程中音效实时性是个需要解决的问题。

本文主要讨论,windows播放WAV文件的衍生问题:如何测量WAV文件的播放时长?

解决方法

1、WAV文件头部格式

WAV(Waveform Audio File Format)是一种常见的音频文件格式,它以无损的方式存储音频数据。每个WAV文件都包含一个文件头(Header)来描述音频的格式和属性。下面是WAV文件头的一般格式:

typedef struct {
    char     riff[4];        // "RIFF"标识符
    DWORD    fileSize;       // 文件总大小(不包括riff和fileSize字段本身的大小)
    char     wave[4];        // "WAVE"标识符
    char     fmt[4];         // "fmt "标识符
    DWORD    fmtSize;        // fmt块大小
    WORD     audioFormat;    // 音频格式代码(例如,PCM为1)
    WORD     numChannels;    // 声道数
    DWORD    sampleRate;     // 采样率
    DWORD    byteRate;       // 每秒的字节数
    WORD     blockAlign;     // 数据块对齐单位(每个采样帧的字节数)
    WORD     b
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值