Ejemplo n.º 1
0
void ResourceManager::PlaySound(std::string key) {
	sf::Sound& s = mSounds[key];
	if(s.GetStatus() != sf::Sound::Playing) {
		// std::cout << "playing sound" << std::endl;
		s.SetBuffer(GetSoundBuffer(key));
		s.Play();
	}
}
Ejemplo n.º 2
0
std::shared_ptr<sf::Sound> SoundManager::PlaySound(const std::string& path, bool loop)
{
	playingSounds.push_back(std::shared_ptr<sf::Sound>(new sf::Sound(GetSoundBuffer(path))));
	playingSounds.back()->setLoop(loop);
	playingSounds.back()->play();

	for(std::list<std::shared_ptr<sf::Sound>>::iterator iter = playingSounds.begin();
			iter != playingSounds.end(); iter++) {
		if((*iter)->getStatus() == sf::Sound::Stopped) {
			iter = playingSounds.erase(iter);
		}
	}

	return playingSounds.back();
}
Ejemplo n.º 3
0
void SoundManager::PrecacheSound(const std::string& path)
{
	GetSoundBuffer(path);
}