[英]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.