【问题标题】:How to send Audio through SoundCard Output channels 1/2 and 3/4 in PortAudio Callback function?如何在 PortAudio 回调函数中通过声卡输出通道 1/2 和 3/4 发送音频?
【发布时间】:2014-04-23 13:46:00
【问题描述】:

这是我的简单回调。 PA 检测到我的声卡 8 进/8 出。我想同时将音频流发送到 1/2 和 3/4 等输出通道。我怎样才能在回调中做到这一点?谢谢

int audioCallback ( const void* input, void* output, unsigned long samples,
                       const PaStreamCallbackTimeInfo* timeInfo, PaStreamCallbackFlags statusFlags, void* userData)
    {
        const float *in = ( const float*)input;
        float *out = (float*)output;

        paTestData *data = (paTestData*)userData;


        for (int i = 0; i < samples; ++i)
        {

            *out++ = *in++; // left Channel(1)
            *out++ = *in++; // right Channel(2)

        }


        return paContinue;
    }

【问题讨论】:

    标签: c signal-processing portaudio


    【解决方案1】:

    你的例子表明你的输入流是立体声的,所以试试这个:

    s1 = *in++; s2 = *in++;

    *out++ = s1; //通道1 *out++ = s2; //通道2 *out++ = s1; //通道 3 *out++ = s2; //通道4

    结果应该是通道1和3播放相同的信号,通道2和4播放相同的信号

    在大多数情况下,通道在输出缓冲区中交错。否则,其他通道对可能由不同的设备表示。

    【讨论】:

      猜你喜欢
      • 2012-04-12
      • 2020-12-12
      • 2016-03-04
      • 2012-09-18
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-01-10
      • 2011-06-25
      相关资源
      最近更新 更多