ADSR を持つオシレーターを再生するボタンを作成しようとしています。オシレーターが既に再生されている間にボタンが押された場合、既に再生されているオシレーターをオーバーライドして、最初からオシレーターを再生したいと考えています。
このコードは私の目標を達成しますが、「スリープ」が長すぎます。それは瞬時である必要があります。
@IBAction func play(_ sender: UIButton) {
envelope.stop()
oscillator.stop()
sleep(1)
envelope.start()
oscillator.start()
}