CoreMIDI 应用程序未在其他软件中显示

Posted

技术标签:

【中文标题】CoreMIDI 应用程序未在其他软件中显示【英文标题】:CoreMIDI app not showing in other software 【发布时间】:2016-05-04 20:06:37 【问题描述】:

我在 OSX 上的 Swift 中使用 CoreMIDI 进行了一些尝试,并且大部分的东西都能正常工作。

我现在唯一的问题是其他软件和应用程序看不到我的应用程序,并且没有可用的输入/输出。 GarageBand、MIDIMonitor 和 VVMidi 测试应用程序就是这种情况。

我尝试了多种方法,包括这似乎是正确的方法:

let clientCreateResult = MIDIClientCreate("MIDIApp",  (notification, _) -> Void in
        print("Configuration Changed")
    , nil, &midiClient)
if (clientCreateResult != noErr) 
    printError(clientCreateResult)
    return;


let inputCreateResult = MIDIInputPortCreateWithBlock(midiClient, "MIDIApp In", &inputPort, MyMIDIReadBlock)
if (inputCreateResult != noErr) 
    printError(inputCreateResult)
    return;

let outputCreateResult = MIDIOutputPortCreate(midiClient, "MIDIAPP Out", &outputPort)
if (outputCreateResult != noErr) 
    printError(inputCreateResult)
    return;

遗憾的是没有运气。我不确定我做错了什么,我尝试复制与现有框架完全相同的代码,但没有显着结果。

我真的可以使用一些指针来解释为什么我的应用没有在其他应用中列出。

谢谢!

【问题讨论】:

【参考方案1】:

创建一个虚拟目的地。请参阅MIDIDestinationCreateWithBlock 的文档

【讨论】:

这会使您的应用在其他应用中显示为输入。如果您希望您的应用程序也成为其他应用程序可以连接到的输出,请使用 MIDISourceCreate。 More details in this answer.. 是的。我不确定OP想要什么。您的链接答案更完整。 好吧,我不敢相信我错过了...它工作得很好,我确定我试过这个,我想我搞砸了代码并继续前进。非常感谢!

以上是关于CoreMIDI 应用程序未在其他软件中显示的主要内容,如果未能解决你的问题,请参考以下文章

Vue 组件未在其他刀片中显示

MPMediaItemPropertyArtwork 未在 UIImageView (iOS 8) 中显示,其他 MPMediaItems 未更新

ReactStrap 模态关闭图标未在模态中显示以及如何将标题与其他标签一起使用

android - 谷歌地图未在某些设备上显示

Activity 未在清单中注册 Lint 警告

在 phonegap 中打开软键盘时,未在 ios 7 上触发 showkeyboard/hidekeyboard 事件