首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >AudioKit 5振幅包络无声

AudioKit 5振幅包络无声
EN

Stack Overflow用户
提问于 2021-06-22 13:18:24
回答 1查看 323关注 0票数 2

我是新来的,新的音乐应用程序(和一般编程)。

我正试图在我的最后一个项目中使用AudioKit 5构建一个synth应用程序。我制作了一个振荡器,并试图增加振幅包络,但没有发出声音。(如果我把振荡器放在输出中,就会有声音。)

我在互联网上多次看到这个问题,不同的类型,但没有任何解决办法。

有人知道问题出在哪里吗?如果没有-你还有其他信封的解决方案吗?

守则:

代码语言:javascript
复制
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()
    }
    
}

编辑:

我添加了这段代码,它现在开始工作了,多亏了!

代码语言:javascript
复制
var isGateOpend = false 
.
.
. 
if isGateOpend{ 
    envelope.closeGate() 
    isGateOpend = false 
   } else { 
    envelope.openGate() 
    isGateOpend = true 
   }

我仍然有一个点击,但我会打开另一个问题,如果我不知道它。

提前感谢!

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-06-23 04:00:20

AmplitudeEnvelope是一个“门控”节点,意思是它响应openGate和closeGate,应该使用这些节点而不是开始停止,因为它们在节点级别而不是控制级别。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/68084293

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档