【发布时间】:2020-06-27 01:52:55
【问题描述】:
首先,我对 Mac 开发几乎一无所知。我是一名 Windows 开发人员。当我发现在 C# 中没有简单的方法来完成我将要告诉你的事情时,我想也许是时候学习 Swift 了。但是,我想确保在我出去购买 Mac 并学习 Mac 开发之前,这很容易实现。
我有一个背面有 USB 端口的钢琴键盘。当我使用 USB-to-Lightning 适配器将钢琴插入 iPhone 并打开 iOS 版 GarageBand 时,当我在钢琴上弹奏一个琴键时,该琴键会在我的 iPhone 上演奏!我想使用相同的技术(根据研究,我相信它是 MIDI)做类似的事情来制作一个应用程序,当我在钢琴上按下一个键时,Mac 会根据按下的键执行某个命令。例如,如果按下 D 键,则会出现一个弹出框并说“你按下了 D-flat!”。
据我所知,如果不从 Internet 上安装一些以前没人听说过的阴暗第三方库,那么在 C# 中没有简单的方法可以做到这一点。我想,既然 Apple 制造了 GarageBand,并且在音乐行业中的使用比 PC 更多,那么可能有更简单的方法来做这样的事情。
我想做这样的事情:
//Pseudo code
if (pianoKeyPressed == C) {
alert("You pressed the C key!");
}
else if (pianoKeyPressed == Dflat) {
alert("You pressed the C-sharp / D-flat key!");
}
else if (pianoKeyPressed == D) {
alert("You pressed the D key!");
}
else if (pianoKeyPressed == Eflat) {
alert("You pressed the D-sharp / E-flat key!");
}
//etc
//or maybe something like this
when key is pressed {
alert ("You pressed the " + pianoKeyPressed + " key!");
}
有没有人知道如何做到这一点,或者即使有可能?谢谢!
【问题讨论】:
-
为什么投反对票?
-
我没有否决你的问题,但我想有些人在发布这个问题之前似乎没有努力自己研究这个问题。
-
@calvedos 正如我在描述中所说,我是 Mac 开发的新手。我不知道怎么会有人指望我对一个我不太了解的主题做这么多的研究。转向那些了解该领域的人来获得答案似乎是合理的,即使这是一个新手问题。反正我不生你的气。我对那些否决我的问题的用户有点失望,因为我说我是新人,并且正在寻找有更多经验的人。但是,我将尝试在我未来的问题中展示更多的研究努力。感谢您的回复。
-
不用担心。当人们投反对票并且不发表评论说明原因时,我也感到沮丧,但我猜是这样的人。祝项目好运,MIDI 很棒 :)
-
@calvedos 非常感谢!我真的很感谢你的时间、解释和鼓励的好话。好好休息一天! :)