如果我要将一首歌分成几首单独的.wav文件,例如" drums.wav" " bass.wav" " guitar.wav"等等...有没有让openFrameworks完全同步播放所有三个文件,以便整个歌曲的印象仍然存在?谢谢!
答案 0 :(得分:1)
如果我理解了这个问题,而您想要做的就是同时播放这些文件,那么您只需为每个样本创建一个ofSoundPlayer并将它们设置为同时播放。
在inApp.h中:
ofSoundPlayer drums, guitar, bass; // create sample players
在inApp.cpp中:
void ofApp::setup(){
drums.loadSound("drums.wav"); // do the same for bass and guitar
drums.play(); // play sample from start, same for bass and guitar
}
void ofApp::update(){
ofSoundUpdate();
}
这假设所有样本都开始同步。如果您想从不同的位置开始样品,可以使用:
drums.setPosition(float percent)
这在http://openframeworks.cc/documentation/sound/ofSoundPlayer.html都有详细记载,并且在OpenFrameworks soundPlayer示例中(examples / sound / soundPlayerExample)。
如果你喜欢更复杂的东西,我推荐Maximilian。它提供了很多控制,有一个示例播放器,并且具有OpenFrameworks实现,但文档方式较少。 https://github.com/micknoise/Maximilian