如何解决如何获得AudioKit AKPluckedString淡入淡出?
我对AudioKit很陌生。我有一个AKPluckedString可以正常工作,但是在.trigger上运行了几秒钟后仍保持不变。我希望它在大约2秒钟内均匀消失。我已经成功使用了下面的代码,但是看起来很笨拙。在找到此方法之前,我先使用AKAmplitudeEnvelope,振幅Range,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
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。