簡體   English   中英

如何讓 AudioKit AKPluckedString 優雅地淡出?

[英]How do I get an AudioKit AKPluckedString to fade out gracefully?

我對 AudioKit 很陌生。 我有一個 AKPluckedString 可以工作,但在 .trigger 之后播放了很多秒,它沒有改變。 我希望它在大約 2 秒內均勻地淡化。 我已經成功使用下面的代碼,但它似乎很笨拙。 在我發現這種方法之前,我使用 AKAmplitudeEnvelope、ampampitudeRange、rampTime 和許多其他可能性進行了探索。 如何使用 AK 工具完成此操作?

此外,AudioKit.io 文檔似乎與我幾周前下載的 iOS 框架中的文檔不匹配。 這些文檔是有抱負的嗎? 老的?

        string = AKPluckedString()
        string.rampDuration = 1
        AudioKit.output = string
        try? AudioKit.start()

    func pluck() -> Void {
        string.trigger(frequency: 180, amplitude: 1.0)
        DispatchQueue.main.asyncAfter(deadline: .now() + 0.4) {
            self.string.amplitude = 0.75
        }
        DispatchQueue.main.asyncAfter(deadline: .now() + 0.8) {
            self.string.amplitude = 0.5
        }
        DispatchQueue.main.asyncAfter(deadline: .now() + 1.2) {
            self.string.amplitude = 0.25
        }
        DispatchQueue.main.asyncAfter(deadline: .now() + 1.6) {
            self.string.amplitude = 0.0
        }
    }

XCode 11.7 iOS 13.6

這比我想象的要簡單。 將rampDuration 設置為淡入淡出時間,然后只需更改幅度即可。 達到新的振幅需要rampDuration 秒。

pluckedString.rampDuration = 2.0
pluckedString.trigger(frequency: 440.0, amplitude: 2.0)
self.pluckedString.amplitude = 0.0

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM