1

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

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

  1. 如果我的程序仍在从网络接收数据,我如何回复它的回调函数请求一定数量的数据(在这里找到: http ://www.mega-nerd.com/libsndfile/api.html#open_virtual)?我是否让它一直挂在循环中,直到循环检测到缓冲区已满某个百分比?
  2. 由于 PCM 数据将是无标题的,我如何指定 libsndfile 期望的格式类型?

还是我完全把事情复杂化了?

4

0 回答 0