Вы играете через клипы?SourceDataLines?Очень вероятно, что каждый выставляет элемент управления, который можно использовать для изменения громкости.С помощью базового шаблона проектирования производителя / потребителя вы можете выбрать, на какие звуки влияет JSlider или нет.
Другими словами, вы можете делать что-то на уровне Clip / SDL, а не на уровне микшера.
И если элемент управления для тома не работает, нетрудно создать переменную типа «объем» с плавающей точкой, которую можно «подписать» или открыть для JSlider, которая содержит значения от 0 до 1,0f.и умножьте это на каждое значение кадра во внутреннем цикле буфера до воспроизведения SourceDataLine.Может потребоваться сложить байты (для 16-битного звука), выполнить умножение, а затем снова разделить их.Здесь есть и другие потоки, которые показывают кодирование для обработки звуковых данных с прямым порядком байтов или с прямым порядком байтов.
Я взглянул на предоставленную ссылку OSGi и убежал.Я в основном просто делаю javax.sound.sampled напрямую.
Я был бы весьма удивлен, если бы «связка», предоставленная третьей стороной для звука, не выставляла регулятор громкости.Кажется, что это такая простая вещь!