Измените громкость аудиофайла и сохраните файл с помощью java.sound.sampled. - PullRequest
0 голосов
/ 12 июля 2010

Я хочу изменить громкость аудиофайла и сохранить новый файл, используя java.sound.sampled.

Я попытался использовать микшер для создания строки источника из заданного файла и строки назначенияв новый файл.Так что я могу изменить настройки микшера, чтобы изменить громкость.Но звук воспроизводится на системный динамик.Я думаю о правильном пути или нет?Есть ли другой способ записать файл из строки?

Код доступен здесь Я получил решение www.jsresources.org/examples/AmplitudeConverter.htmlНо то же самое можно сделать в java.sound.sampled без использования внешних библиотек.

1 Ответ

0 голосов
/ 19 июня 2011

Чтобы изменить громкость, если вы не используете «Control» (см. Учебные руководства по звуку Java), есть возможность прямого изменения самих семплов.

В самом внутреннем цикле преобразуйтебайтов в самом внутреннем буфере в выборку (если это 16-битная кодировка WAV, то вам нужно соединить два байта вместе, чтобы получить одно значение SHORT), затем умножить это значение на число с плавающей запятой в диапазоне от 0 до 1, где0 самый тихий и 1 оставляет звук на полной громкости.Затем возьмите результат, разбейте его на два байта и передайте его.

Вам нужен код для этого?Здесь есть еще несколько постов, где люди конвертируют байты в INT или Float и обратно.

Хммм.Этот вопрос довольно старый.Ну, может, мой ответ поможет кому-то новичку в этой же проблеме.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...