SFML 不播放任何声音,但没有错误
SFML doesn't play any sounds, but no errors
我使用SFML播放.WAV声音文件的简单C 程序。看起来这样:
#include <SFML/Audio.hpp>
#include <iostream>
int main()
{
sf::SoundBuffer buffer;
if (!buffer.loadFromFile("beep-01a.wav"))
return -1;
sf::Sound sound;
sound.setBuffer(buffer);
sound.play();
std::cout << "Hello World" << std::endl;
return 0;
}
我在Ubuntu 16.04 LTS上运行它,并用
对其进行编译$ g++ -c main.cpp
$ g++ main.o -o sfml-app -lsfml-audio
$ ./sfml-app
我已经安装了SFML,以APT-GEG作为包装。当我运行./sfml-app时,它会输出" Hello World",但我什么也听不到。我尝试将音量调高,重新启动计算机,戴耳机等。
感谢您的帮助
即使您的代码完全正确,也可能有很多原因。
但是,不是,因为SF :: Sound :: Play 异步 在另一个线程中播放声音(如下所述),但是您的应用程序很快完成,因此给另一个线程没有真正的机会播放大部分指定的声音缓冲区。
因此,为了至少有理论上听到任何事情的机会,我建议插入一些指令以阻止主线程,例如
std::cin.get();
退出之前。
相关文章:
- 我的代码中有错误吗?使用BGI图形的C++代码对我不起作用
- 我的代码中有错误,未声明的标识符
- C++ LeetCode #377 的 DP 解决方案中,此代码是否有错误?
- 试图建立银行管理系统,但有错误
- 我试图创建临时对象的方式有错误吗
- 我的随机生成器是否不工作,或者我决定人/骨架是否击中对手的方式是否有错误
- 我在OpenCV中有错误的"approxPolyDP(ROI_Vertices, ROI_Poly, 1.0, true)"
- 我在这个 C++ 代码上有错误吗?
- 是视觉C++优化器错误还是我的代码中有错误?
- 为什么一个简单的C++程序会有错误的结果?是 #define 引起的吗?
- 对此有错误
- C :数据文件有错误:预期的无限制ID
- 一个带有参数的程序,为什么此程序有错误的答案
- 仅使用boost.datetime在Windows上有错误
- 使用向量循环时,是否有错误
- Microsoft Visual Studio发现我所有的CUDA设备端函数都有错误
- 在不包括任何内容的情况下获得错误声音
- 继承默认构造函数在 gcc 中失败并在 clang 中工作,哪个有错误?
- 为什么有错误未定义_getws_s
- 在快速排序程序中有错误