ios - AudioKit 4.1 - 如何正确停止 AKSampler 播放音频?

标签 ios swift audiokit

我有 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/

相关文章:

ios - 如何在 Objective-C (iOS) 中的图像上写文字?

php - SHA512带盐的iOS专用

ios - 从 AKKeyboardView 创建 MIDI 文件

ios - 使用 AudioKit 的量化序列

ios - 没有名为 AKNode/AKToggleable 的类型或协议(protocol)

ios - 我怎样才能 'add' 两个NSLayoutDimension?

iphone - 仅在归档时出现链接器错误

swift - 错误 : Command CodeSign failed with a nonzero exit code after installing Xcode10 beta 5?

swift - 按下两次时选项卡栏滚动到 UIViewController 的顶部

ios - addEntry方法是如何实时更新LineChart的?