【问题标题】:C/C++ library for .wav file encoding用于 .wav 文件编码的 C/C++ 库
【发布时间】:2009-11-30 13:22:11
【问题描述】:

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

【问题讨论】:

标签: c++ audio wav pcm


【解决方案1】:

看起来 libsndfile (www.mega-nerd.com/libsndfile/) 和 SndLib (ccrma.stanford.edu/software/snd/sndlib/) 可以满足您的需求。

【讨论】:

    【解决方案2】:

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

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

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

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2014-03-16
      • 1970-01-01
      • 1970-01-01
      • 2012-02-29
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-09-06
      相关资源
      最近更新 更多