如果只需要交错的立体声样本,则可以使用如下函数:
void interleave(const uint16_t * in_L, // mono input buffer (left channel) const uint16_t * in_R, // mono input buffer (right channel) uint16_t * out, // stereo output buffer const size_t num_samples) // number of samples{ for (size_t i = 0; i < num_samples; ++i) { out[i * 2] = in_L[i]; out[i * 2 + 1] = in_R[i]; }}
要从单个单声道缓冲区生成立体声,则只需为in_L和in_R传递相同的指针,例如
interleave(mono_buffer, mono_buffer, stereo_buffer, num_samples);
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)