我的要求是创建.wav文件,我已经编写了ADPCM编码器的现有代码。它在线性PCM中获取数据并将其转换为ADPCM并为文件创建波形头。
现在,我修改了代码,我将数据直接转换为Apple ADPCM格式,其具体值如下所示。如何为此文件创建wave标头,以便我可以在任何播放器上播放此文件。现在,我得到的文件大小正确,但它不是播放数据,既不是全长,也不是没有噼里啪啦的声音。请建议我有什么突破,我如何调试代码,所以我可以得到确切的问题。目前,对我而言似乎是波头的问题。
使用ADPCM规范: * mSampleRate: * 44100
mFormatID: kAudioFormatAppleIMA4
mFormatFlags: 0
mChannelsPerFrame: 2
mBitsPerChannel: 0
mFramesPerPacket: 64
mBytesPerPacket: 68(= mChannelsPerFrame * 34)
使用Wave标头规范: * samplesPerSecond: * 44100
频道: 2
状态: 0x0011U
blockAlign:频道* 256
bitsPerSample: 4
formatExtension: 2
samplesPerBLock: lsx_ima_samples_in((size_t)0,(size_t)wavHeader.wChannels,(size_t)wavHeader.wBlockAlign,(size_t)0);
samplesWritten: self.audioLength / wavHeader.wSamplesPerBlock
fmtSize: 2 + wavHeader.wExtSize;
非常感谢任何形式的帮助。