通过libsndfile sf_open_virtual函数将PCM网络流重新采样为8000Hz 8位单声道

时间:2015-04-07 01:08:14

标签: c++ node.js pcm resampling libsndfile

我的目标是在Node.js中获取PCM流,即使是例如44100Hz 16位立体声,然后将其重新采样为8000 Hz 8位单声道,然后编码为Opus然后进行流式传输。

我的想法是尝试在C ++中为libsndfile进行绑定,并使用sf_open_virtual函数对流进行重新采样。但是:

  1. 如何回复请求一定金额的回拨函数 数据(在这里找到: http://www.mega-nerd.com/libsndfile/api.html#open_virtual)如果我的话 程序仍在从网络接收数据?我只是放手吧 挂起循环,直到循环检测到缓冲区是肯定的 百分之满?
  2. 由于PCM数据是无头的,怎么可能 我指定libsndfile的格式类型?
  3. 还是我完全过分复杂了?

0 个答案:

没有答案