Я пытаюсь использовать библиотеку:
https://github.com/jongoochgithub/GroovyCodecs/tree/master/G729
Не объясняется и не показывается, как она работает точно. У меня никогда не было контактов с форматированием аудио. И я не знаю, что я делаю неправильно.
Что я делаю:
byte[] buffer = new byte[60000];
...
G729Decoder decoder = new G729Decoder();
byte[] samples = decoder.Process(buffer);
G729Encoder encoder = new G729Encoder();
byte[] samples1 = encoder.Process(samples);
Я читаю файл с расширением .g729 и использую G729Decoder.Process, чтобы изменить его на .wav. Я могу сохранить этот файл и открыть аудио.
Но я не понимаю, почему, когда я декодирую и в следующем кодере этот файл, байт [] содержит другие байты. А сохранение этого файла приводит к повреждению звукового тракта.
Редактировать: Библиотека работает только при сжатии с потерями и массиве выглядит иначе. Я не допустил двух маленьких ошибок, когда мой код испортил полученные байты.
Совет: когда вы читаете .wav, пропустите 46 первых байтов. когда вы делаете l oop с кодировщиком и массив декодеров должен быть одинакового размера.