private final FloatControl getVolumeControl() {
		Mixer.Info[] mixerInfo = AudioSystem.getMixerInfo();
		Port.Info speakerInfo = Port.Info.SPEAKER;

		mixerInfoLoop: for (Mixer.Info info : mixerInfo) {
			Mixer mixer = AudioSystem.getMixer(info);
			if (AudioSystem.getMixer(info).isLineSupported(speakerInfo)) {
				Port volumePort = null;
				try {
					volumePort = (Port) mixer.getLine(speakerInfo);
					volumePort.open();
				} catch (LineUnavailableException e) {
					logger.error(e, "Failed getting volume mixer");
				}
				if (volumePort != null && volumePort.isOpen() && volumePort.isControlSupported(FloatControl.Type.VOLUME)) {
					return (FloatControl) volumePort.getControl(FloatControl.Type.VOLUME);
				}
			}
		}

		logger.error("No volume mixer found for volume control");
		return null;
	}