C++ 听起来我的代码没有播放
我正在学习SFML库2.2版,但是声音不会播放。我在ubuntu 14.04上编译并运行该程序。这是我的节目C++ 听起来我的代码没有播放,c++,audio,sfml,C++,Audio,Sfml,我正在学习SFML库2.2版,但是声音不会播放。我在ubuntu 14.04上编译并运行该程序。这是我的节目 #include "SFML/Audio.hpp" #include <stdio.h> #include <iostream> using namespace std; using namespace sf; SoundBuffer buffer; Sound audio; int main(int argc, char* argv[]) {
#include "SFML/Audio.hpp"
#include <stdio.h>
#include <iostream>
using namespace std;
using namespace sf;
SoundBuffer buffer;
Sound audio;
int main(int argc, char* argv[]) {
if(buffer.loadFromFile(argv[1]))
cout << "Sounds Loaded" << endl;
audio.setBuffer(buffer);
audio.setVolume(100);
audio.play();
cout << "Yay!" << endl;
return 0;
}
#包括“SFML/Audio.hpp”
#包括
#包括
使用名称空间std;
使用名称空间sf;
声音缓冲器;
音频;
int main(int argc,char*argv[]){
if(buffer.loadFromFile(argv[1]))
cout我怀疑audio.play()
是异步的。因此,您的程序在声音开始播放后立即退出
只需在程序退出前执行以下操作:
audio.play();
cout << "Yay!" << endl;
sleep(9999); // sleep until CTRL+C is pressed
return 0;
audio.play();
cout假设声音和音乐在一个单独的线程中播放。可能发生的情况是,您的程序运行,开始在一个单独的线程中播放声音,但主线程继续运行,并点击main
函数的末尾并退出,杀死您的程序。简言之:您的程序退出得如此之快,您甚至听不到任何sou我在玩
在退出之前,尝试拨打电话给您的节目播放歌曲的时间
audio.play();
cout << "Yay!" << endl;
sleep(9999); // sleep until CTRL+C is pressed
return 0;