Audio ASIO SDK如何处理音频缓冲区

Audio ASIO SDK如何处理音频缓冲区,audio,audio-streaming,asio,steinberg-asio,Audio,Audio Streaming,Asio,Steinberg Asio,所以我正在开发一些音频处理软件,我对一些ASIO音频处理有点困惑。从我所读到的内容来看,似乎在进行缓冲开关回调时,我需要将“输入”处理为“输出”。但是如果我有不同数量的输入和输出通道呢?我猜如果我的输入和输出格式不匹配,我需要进行格式转换 您要做的是访问asioDriverInfo.inputshannels和asioDriverInfo.inputsbuffers。我使用这个代码片段来计算我的设备输入/输出枚举。我希望有帮助 string cad; if (ASIOStart() == ASE

所以我正在开发一些音频处理软件,我对一些ASIO音频处理有点困惑。从我所读到的内容来看,似乎在进行缓冲开关回调时,我需要将“输入”处理为“输出”。但是如果我有不同数量的输入和输出通道呢?我猜如果我的输入和输出格式不匹配,我需要进行格式转换

您要做的是访问asioDriverInfo.inputshannels和asioDriverInfo.inputsbuffers。我使用这个代码片段来计算我的设备输入/输出枚举。我希望有帮助

string cad;
if (ASIOStart() == ASE_OK)
{
    for (int i = 0; i < asioDriverInfo.inputChannels + asioDriverInfo.outputChannels; i++)
    {
        cad =  asioDriverInfo.channelInfos[i].isInput? "input" : "output ";
        cout<<"Chanel "<<i<<" : "<<asioDriverInfo.channelInfos[i].name<<" "<<cad<<endl;
    }               
    for (int i = 0; i < asioDriverInfo.inputBuffers + asioDriverInfo.outputBuffers; i++)
    {
        cad =  asioDriverInfo.bufferInfos[i].isInput? "input" : "output ";
        cout<<"Buffer "<<i<<asioDriverInfo.bufferInfos[i].buffers<<" : " << cad  <<" chanel "<<asioDriverInfo.bufferInfos[i].channelNum<<endl;
    }
...and rest of stuff
字符串cad;
如果(ASIOStart()==ASE\U OK)
{
对于(int i=0;i你在开发什么样的插件?如果你有输入和输出,我猜插件会有什么效果?基本上是的。我只是对它希望我如何处理数据感到困惑。我知道什么时候需要处理,但我不知道我需要处理哪些缓冲区,哪些缓冲区需要写回数据。