2010-08-16 2 views
4

Я использую звук Java для воспроизведения ряда звуковых образцов с помощью метода Clip.start().Управление громкостью клипа при использовании Java Sound (javax, sound.sampled)

Учитывая это, как лучше всего контролировать громкость воспроизведения?

В частности, я очень рад, что решение будет надежно работать на разных платформах.

ответ

10
FloatControl volume = (FloatControl) clip.getControl(FloatControl.Type.MASTER_GAIN); 
volume.setValue(gainAmount); 

Просто замените gainAmount с поплавком, представляющим коэффициент усиления в децибелах. Может быть положительным или отрицательным.

+0

что отрицательное значение? oO –

+5

@ T_01 -3 означает в 2 раза меньше, -6 означает в 4 раза меньше, -10 означает в 10 раз меньше и т. д. (логарифмическая шкала) См. [Википедия] (http://en.wikipedia.org/wiki/Decibel) – Demurgos

+3

srsly? xD upvote для ответа на 2-х летнюю нить: D –

Смежные вопросы