1

我需要一个 MS VC6 库,它将浮点数组形式的采样数据编码为音频文件格式,最好是 wav 还有一个库可以将样本编码为 pcm 格式并直接通过声卡播放而无需先保存一个wav文件??

4

2 回答 2

4

看起来libsndfile (www.mega-nerd.com/libsndfile/) 和SndLib (ccrma.stanford.edu/software/snd/sndlib/) 会做你想做的事。

于 2009-12-30T17:26:51.580 回答
2

如前所述,WAV 文件格式非常简单。要播放样本,请使用 waveOut 函数;他们被记录在案。

要将浮点数转换为有符号的 16 位 PCM 样本,只需将样本转换为 16 位范围。例如,假设 -1.0 到 +1.0 范围内的样本乘以 32767.0 并转换为整数:

int16_t sample = static_cast<int16_t>(32767.0 * float_sample);

一旦你有了这些,只需使用 waveOut* 函数来播放样本。

于 2009-12-01T06:43:04.903 回答