Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/150.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++; 我试图用C++制作一个软件,当按下某个MIDI键时,播放一个.wav音频样本。我认为最好的方法是使用if语句(如果有更简单的方法,我会非常感激,但我是编程新手,所以请保持简单)_C++_Audio_Midi_Libsndfile - Fatal编程技术网

C++; 我试图用C++制作一个软件,当按下某个MIDI键时,播放一个.wav音频样本。我认为最好的方法是使用if语句(如果有更简单的方法,我会非常感激,但我是编程新手,所以请保持简单)

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

通过在线查看,我发现不同的MIDI键对应于消息上的不同音符(例如,60上的音符对应于中间的C),所以基本上我只是想知道如何说“当收到60上的音符时,播放X.wav文件”。我还发现NOTE ON的状态是
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文件”?非常感谢您的回复!