我有 2 个连接到 AKMixer 的 AKSampler,但是当我为每个 AKSampler 调用停止函数时,音频不会停止播放,它只会在我调用 AKMixer 的停止时停止。如何停止播放连接到 AXMixer 的 AKSampler?
示例代码:
func stop() {
let sampler1 = AKSampler()
let sampler2 = AKSampler()
let mixer = AKMixer(sampler1, sampler2)
AudioKit.output = mixer
do {
try sampler1.loadWav("Support Objects/audio")
try sampler2.loadWav("Support Objects/audio")
} catch {
return
}
do {
try AudioKit.start()
} catch let error as NSError{
print(error.debugDescription)
}
sampler1.play(noteNumber: //some midi number)
sampler2.play(noteNumber: //some midi number)
sampler1.stop() // does not stop sampler1 from playing
}
最佳答案
使用 AKSampler 停止音符的首选方法是停止之前启动的特定 AKSampler 音符。
例如:
sampler1.play(noteNumber: yourMIDINoteNumber)
...
sampler1.stop(noteNumber: yourMIDINoteNumber)
应该成功停止 AKSampler。
关于ios - AudioKit 4.1 - 如何正确停止 AKSampler 播放音频?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50877550/