Я использую C # и Microsoft.Xna.Framework.Audio
;
Мне удалось записать звук в массив byte[]
, и я могу его воспроизвести.
Звук поступаеткак 8 bit
беззнаковые данные, и я хотел бы преобразовать их в 16 bit
монозвуковое аудио, чтобы я мог читать частоту, а что нет.
Я прочитал несколько мест, которые для выборки звука вы выполняете Bitwise Operator Or
и shift the bits 8 places
.
Я выполнил код следующим образом:
soundArray[i] = (short)(buffer[i] | (buffer[i + 1] << 8));
В результате я получил много отрицательных данных.
Из моегопонимание того, что это в основном должно быть положительным и будет представлять собой длину волны данных.
Любые предложения или помощь, очень ценная,
Приветствия.
MonkeyGuy.