Может ли кто-нибудь сказать мне, что такое переменная функции обратного вызова portaudio framesperbuffer? Если я хочу воспроизводить аудиопоток через PA_WriteStream() по 64 байта данных на каждой итерации, то какое значение я должен поместить в framesperbuffer?
Также в lsbsndfile
library функция чтения волнового файла требует предоставления переменной с именем frame. то есть
samples=sf_readf_float(file,fptr,frames);
если я поставлю кадры = 256, то в fptr всегда возвращается 64 выборки, а остальные - мусор, тогда как возвращаемые значения из функции чтения равны 256. Я проверил следующий код.
memcpy(array,fptr,samples); //samples returned are 256 always but first 64 contain data
теперь массив [0] в массив [63] содержит значения, а массив [64] в массив [255] содержит нулевое значение при каждой итерации чтения файла. Теперь мне нужно записать данные, прочитанные в функцию воспроизведения аудио portaudio, а затем заполнить framesperbuffer.
Также в некоторых случаях мне нужно обработать данные, а количество выборок уменьшить до 32 (когда я использую два образца для формирования одного выходного образца), тогда какое значение я должен указать в переменной framesperbuffer?