首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >我已经从源码为macOS Xcode10.2构建了库,但是我不能让MIDI工作。MIDI输入似乎没问题

我已经从源码为macOS Xcode10.2构建了库,但是我不能让MIDI工作。MIDI输入似乎没问题
EN

Stack Overflow用户
提问于 2019-03-29 04:40:53
回答 1查看 58关注 0票数 1

我正在学习AudioKit框架,有必要从源代码构建该框架,因为4.2二进制文件与Xcode10.2中的5.0编译器不兼容。我无法让MIDI输出在物理设备上工作,也不能使用虚拟端口连接到另一个应用程序。

我无法让示例MIDI output playground正常工作。我没有得到错误,但也没有MIDI输出,我使用以下命令:

代码语言:javascript
复制
import AudioKitPlaygrounds
import AudioKit

let midi = AudioKit.midi

midi.openOutput()

import AudioKitUI

class LiveView: AKLiveViewController, AKKeyboardDelegate {

var keyboard: AKKeyboardView!

override func viewDidLoad() {
    addTitle("MIDI Output")

    keyboard = AKKeyboardView(width: 440, height: 100)
    keyboard.delegate = self
    addView(keyboard)

    addView(AKButton(title: "Go Polyphonic") { button in
        self.keyboard.polyphonicMode = !self.keyboard.polyphonicMode
        if self.keyboard.polyphonicMode {
            button.title = "Go Monophonic"
        } else {
            button.title = "Go Polyphonic"
        }
    })
}

func noteOn(note: MIDINoteNumber) {
    midi.sendEvent(AKMIDIEvent(noteOn: note, velocity: 127, channel: 3))
    AKLog("sending note \(note)")
}

func noteOff(note: MIDINoteNumber) {
    midi.sendEvent(AKMIDIEvent(noteOff: note, velocity: 0, channel: 3))
}
}

import PlaygroundSupport
PlaygroundPage.current.needsIndefiniteExecution = true
PlaygroundPage.current.liveView = LiveView()
EN

回答 1

Stack Overflow用户

发布于 2019-03-30 05:11:13

我想通了。事实证明,AudioKit实际上是在通道4而不是通道3上发送的。看起来通道索引关闭了1。

每个开发者的MIDI通道的索引是从0开始的,而不是1,所以这是预期的行为

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/55406516

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档