Я основываю свой код на примере Portaudio paex_record_file.c. Одним из параметров в обратном вызове является inputBuffer, и я хотел использовать его данные для вычисления других чисел с использованием типа double/float. Я изменил файл с .raw на .txt, но блокнот все еще не может его прочитать, что заставило меня поверить, что его данные на самом деле не закодированы как число. Как хранятся данные в inputBuffer и как я могу выполнять арифметику с ним (добавлять, умножать, делить и т. Д.)?Интерпретация значения InputBuffer в обратном вызове
Это, как я инициализируется inputParameters:
inputParameters.device = Pa_GetDefaultInputDevice(); /* default input device */
if (inputParameters.device == paNoDevice) {
fprintf(stderr,"Error: No default input device.\n");
goto error;
}
inputParameters.channelCount = 2; /* stereo input */
inputParameters.sampleFormat = paFloat32;
inputParameters.suggestedLatency = Pa_GetDeviceInfo(inputParameters.device)->defaultLowInputLatency;
inputParameters.hostApiSpecificStreamInfo = NULL;
Этот вопрос несколько связан с print floats from audio input callback function (без ответа).
Большое вам спасибо! – himty