C++; 我试图用C++制作一个软件,当按下某个MIDI键时,播放一个.wav音频样本。我认为最好的方法是使用if语句(如果有更简单的方法,我会非常感激,但我是编程新手,所以请保持简单)
通过在线查看,我发现不同的MIDI键对应于消息上的不同音符(例如,60上的音符对应于中间的C),所以基本上我只是想知道如何说“当收到60上的音符时,播放X.wav文件”。我还发现NOTE ON的状态是C++; 我试图用C++制作一个软件,当按下某个MIDI键时,播放一个.wav音频样本。我认为最好的方法是使用if语句(如果有更简单的方法,我会非常感激,但我是编程新手,所以请保持简单),c++,audio,midi,libsndfile,C++,Audio,Midi,Libsndfile,通过在线查看,我发现不同的MIDI键对应于消息上的不同音符(例如,60上的音符对应于中间的C),所以基本上我只是想知道如何说“当收到60上的音符时,播放X.wav文件”。我还发现NOTE ON的状态是9n,那么这是否意味着计算机将接收9x60(使用60=中间C示例) 在此之后,我只需要了解如何使用sndfile.h播放音频样本,我相信如下所示: SNDFILE *sndFile = sf_open("Sample1.wav"). 非常感谢您的帮助。您可以使用 它具有所有可以使用midi和wav
9n
,那么这是否意味着计算机将接收9x60
(使用60=中间C示例)
在此之后,我只需要了解如何使用sndfile.h
播放音频样本,我相信如下所示:
SNDFILE *sndFile = sf_open("Sample1.wav").
非常感谢您的帮助。您可以使用
它具有所有可以使用midi和wave文件的功能您可以使用portAudio实现流函数,并使用portMidi检查是否在按下note c4时播放该文件
看看这些文档这里的问题是你的英语有点差。事实上,你的意思是“当收到60的注释时,播放x。wave文件”和“何时”与“IF”有很大区别,至少在C++编程中是如此。因此,这是一个广泛的问题。啊,好吧,我现在就编辑它。啊,太好了!我该如何用PortAudio编写“当收到60上的备忘时,播放X.wav文件”?非常感谢您的回复!