У меня проблемы с воспроизведением аудиоданных после того, как ими манипулировали. Единственный API, который я использую, - это API alsa lib для Linux (Ubuntu) на C. Я получаю данные из 16-битного целочисленного волнового файла в массиве символов без знака (называемого буфером1) с помощью read(), и буфер1 может воспроизводиться правильно. Я хочу, чтобы данные передавались в другой массив символов без знака (называемый buffer2) того же размера. Если я просто создам цикл с буфером2[i] = буфер1[i], он сработает: буфер2 может воспроизводиться правильно. Но для того, чтобы манипулировать данными, я преобразовываю их в массив с плавающей запятой, а затем обратно в беззнаковый символ (до сих пор я не манипулировал аудиоданными, я просто конвертировал их в число с плавающей запятой, а затем обратно в беззнаковый символ, чтобы проверить, как это работает). Но теперь буфер2 не издает звука, хотя все его значения строго идентичны значениям буфера1 (я сделал printf многих значений буфера1 и буфера2, они все идентичны)... Все, что я сделал, это приведение из беззнакового к плавающему наоборот...
Пожалуйста, есть идеи, что не так?
Виктор