首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在PortAudio回调函数中通过SoundCard输出通道1/2和3/4发送音频?

如何在PortAudio回调函数中通过SoundCard输出通道1/2和3/4发送音频?
EN

Stack Overflow用户
提问于 2014-03-18 11:36:24
回答 1查看 234关注 0票数 0

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

代码语言:javascript
复制
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;
    }
EN

回答 1

Stack Overflow用户

发布于 2014-03-19 08:50:55

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

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

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

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

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

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/22469873

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档