Я новичок в стремительности и стараюсь ориентироваться.В настоящее время я работаю над переключателем для включения / выключения громкости для этих объектов осциллятора, которые я сделал с помощью AudioKit.У меня нет проблем с компонентом AudioKit, но я просто не могу понять, как с помощью UISwitch изменить переменные громкости с абсолютных 0 на их включенные уровни.
Пожалуйста, помогите!
Я пробовал несколько вещей, но после долгих поисков я дошел до этого.Я решил объявить переменные для каждого регулятора громкости их значениями on, а затем добавил UISwitch и использовал оператор if для переключения громкости.
class ViewController: UIViewController {
var Fsys = 5.00
//VOLUMES HERE:
var volumeMono = 0.2
var volumeBinaural = 0.6
var A1 = 54.00
var A2 = 108.00
@IBAction func `switch`(_ sender: UISwitch) {
if sender.isOn {
volumeMono = (volumeMono) * (1)
volumeBinaural = (volumeBinaural) * (1)
}
else {
volumeMono = (volumeMono) * (0)
volumeBinaural = (volumeBinaural) * (0)
}
}
override func viewDidLoad() {
super.viewDidLoad()
let generator = AKOperationGenerator(channelCount: 2) { _ in
let leftOutput = AKOperation.sineWave(frequency: A2, amplitude: volumeBinaural)
let rightOutput = AKOperation.sineWave(frequency: A2 + Fsys, amplitude: volumeMono)
return [leftOutput, rightOutput]
}
AudioKit.output = generator
AKSettings.playbackWhileMuted = true
try! AudioKit.start()
do {
try AudioKit.start()
} catch {
AKLog("AudioKit did not start!")
}
generator.start()
}
}
Я надеялся, что это умножит переменные на 0, когда выключатель будет выключен (остановка звука осцилляторов), а когда он был включен, функция переключателя умножит переменные на 1,приведение аудио выхода в соответствие с объявленными переменными.
Когда я запускаю сборку, система по умолчанию использует тома, объявленные в начале, и коммутатор ничего не делает.
Заранее спасибо за помощь!