Я пытаюсь воспроизвести звуковой файл в SFML, но он не воспроизводится. Это звук (предупреждение: громкий громкость): http://freesound.org/people/thanvannispen/sounds/9550/. Я использовал онлайн-конвертер, чтобы преобразовать его в wav (http://audio.online-convert.com/convert-to-wav), но звук отлично воспроизводится в окнах, так что это не должно быть проблемой.SFML Звук не играет
SoundManager.h
#pragma once
#include <SFML\Audio.hpp>
#include <map>
class SoundManager
{
public:
SoundManager();
~SoundManager();
static bool load();
static std::map<std::string, sf::Sound> sound;
};
SoundManager.cpp
#include "SoundManager.h"
#include <SFML\Audio.hpp>
#include <map>
std::map<std::string, sf::Sound> SoundManager::sound = std::map<std::string, sf::Sound>();
SoundManager::SoundManager()
{
}
SoundManager::~SoundManager()
{
}
bool SoundManager::load() {
sf::SoundBuffer laughterBuffer;
if (!laughterBuffer.loadFromFile("data/sound/laughter.wav")) {
return false;
}
sf::Sound laughter;
laughter.setBuffer(laughterBuffer);
SoundManager::sound["laughter"] = laughter;
}
Здесь я загружаю звук:
Logger::print("Loading sound...");
if (!SoundManager::load()) {
Logger::error("Failed to load sound! Exiting...");
exit();
}
Logger::print("Sound loaded.");
И я играю, как это только перед входом в цикл игры (Я пробовал называть его из нескольких мест, никто не работает)
SoundManager::sound["laughter"].play();
Когда я впервые попытался импортировать SFML \ Audio.hpp, он дал мне ошибку в том, что не нашел libsndfile-1.dll, поэтому я копирую/вставляю его в папку и теперь это работает, но я не уверен почему это произошло, так как я связываю статически. Может ли это иметь какое-то отношение к тому, как я связываюсь с SFML?
sfml-main.lib
sfml-network-s.lib
ws2_32.lib
sfml-audio-s.lib
sndfile.lib
openal32.lib
sfml-window-s.lib
sfml-system-s.lib
opengl32.lib
gdi32.lib
winmm.lib
sfml-graphics-s.lib
glew.lib
freetype.lib
jpeg.lib