我是新来的,新的音乐应用程序(和一般编程)。
我正试图在我的最后一个项目中使用AudioKit 5构建一个synth应用程序。我制作了一个振荡器,并试图增加振幅包络,但没有发出声音。(如果我把振荡器放在输出中,就会有声音。)
我在互联网上多次看到这个问题,不同的类型,但没有任何解决办法。
有人知道问题出在哪里吗?如果没有-你还有其他信封的解决方案吗?
守则:
import AudioKit
import SoundpipeAudioKit
import UIKit
class TryingViewController: UIViewController {
var osc = Oscillator(waveform: Table(.sine), frequency: 440, amplitude: 0.8)
var engine = AudioEngine()
override func viewDidLoad() {
super.viewDidLoad()
}
@IBAction func onBtn(_ sender: UIButton) {
let envelope = AmplitudeEnvelope(osc)
envelope.attackDuration = 0.1
envelope.decayDuration = 0.01
envelope.sustainLevel = 0.5
envelope.releaseDuration = 0.3
osc.start()
do {
try engine.start()
} catch {
print(error, "Field")
}
engine.output = envelope
envelope.start()
}
@IBAction func offBtn(_ sender: UIButton) {
osc.stop()
}
}编辑:
我添加了这段代码,它现在开始工作了,多亏了!
var isGateOpend = false
.
.
.
if isGateOpend{
envelope.closeGate()
isGateOpend = false
} else {
envelope.openGate()
isGateOpend = true
}我仍然有一个点击,但我会打开另一个问题,如果我不知道它。
提前感谢!
发布于 2021-06-23 04:00:20
AmplitudeEnvelope是一个“门控”节点,意思是它响应openGate和closeGate,应该使用这些节点而不是开始停止,因为它们在节点级别而不是控制级别。
https://stackoverflow.com/questions/68084293
复制相似问题