有没有办法让AKOperationGenerator发出的声音褪色?
例如,在下面的代码中,.start()以点击的全部振幅开始。
let whiteNoiseGenerator = AKOperationGenerator { _ in
let white = AKOperation.whiteNoise()
return white
}
AudioKit.output = whiteNoiseGenerator
whiteNoiseGenerator.start()发布于 2017-10-16 19:40:45
有很多方法可以剥这只猫的皮。我给你几个:
一种方法是将噪声发生器封装在一个AKBooster中:
let volumeControl = AKBooster(whiteNoiseGenerator)
volumeControl.gain = 0
volumeControl.rampTime = 1 // number of seconds to fade in/out
AudioKit.output = volumeControl
AudioKit.start() // Don't forget this, I assume you just didn't paste it in
whiteNoiseGenerator.start() // nothing will be heard然后,启动和停止声音将只需设置
volumeControl.gain = 1 // or 0 for stopping或者,我知道您想知道如何在操作的上下文中这样做,所以您可以通过给出增益和端口时间的操作参数来做到这一点:
let whiteNoiseGenerator = AKOperationGenerator { parameters in
let white = AKOperation.whiteNoise() * parameters[0].portamento(halfDuration: parameters[1])
return white
}
whiteNoiseGenerator.parameters = [0,0.1] // first number is gain, second is portamento time
AudioKit.output = whiteNoiseGenerator
AudioKit.start()
whiteNoiseGenerator.start()然后,当你想打开噪音时,这样做:
whiteNoiseGenerator.parameters[0] = 1你将得到一个平滑的变化,使整个音量超过0.1秒。
哈哈!
https://stackoverflow.com/questions/46776417
复制相似问题