Я, вероятно, тупой, но не могу найти решение своей проблемы
(ПРИМЕЧАНИЕ. Я МОГУ найти множество людей, сообщающих об этой проблеме, похоже, что это произошло из-за более новой версии Java (возможно 1.5?). Возможно, SAMPLE_RATE больше не поддерживается? Я не могу найти любое решение).
Я пытаюсь настроить SAMPLE_RATE, чтобы ускорить / замедлить песню. Я могу успешно воспроизвести файл .wav без проблем, поэтому я посмотрел на FloatControl, который работал для регулировки громкости:
public void adjustVolume(String audioType, float gain) {
FloatControl gainControl = null;
gainControl = (FloatControl) clipSFX.getControl(FloatControl.Type.MASTER_GAIN);
if(gain > MAX_VOLUME)
gain = MAX_VOLUME;
if(gain < MIN_VOLUME)
gain = MIN_VOLUME;
//set volume
gainControl.setValue(gain);
}
Но при попытке перевести этот принцип в SAMPLE_RATE я очень рано получаю ошибку на этом этапе:
public void adjustVolume(String audioType, float gain) {
FloatControl gainControl = null;
gainControl = (FloatControl) clipSFX.getControl(FloatControl.Type.SAMPLE_RATE);
//ERROR: Exception in thread "Thread-3" java.lang.IllegalArgumentException: Unsupported control type: Sample Rate
//I haven't gotten this far yet since the above breaks, but in theory will then set value?
gainControl.setValue(gain);
}
Все, что я нашел в Интернете, похоже, связано с вводом сигнала с микрофона или какой-либо внешней линии и, похоже, не переводится на использование аудиофайла, поэтому я не уверен, что мне не хватает. Любая помощь будет оценена по достоинству! Спасибо!