SFML 没有声音播放存储在 ResourceHolder 中的声音缓冲区
SFML no sound playing with soundbuffers stored in ResourceHolder
我目前正在使用 sfml 开发一个小游戏。
对于资源加载和保存,我正在使用 SFML 游戏中描述的 ResourceHolder
开发书:SFML ResourceHolder 资源基本上都是以unique_ptr的形式存储在一个map中。
在 SoundManager 中 class 我正在向此 ResourceHolder 加载不同的声音。当我想播放声音时,这个 SoundManager 有一个 playSound 函数。
void SoundManager::playSound(SoundType soundToPlay) {
auto buffer = sounds.get(soundToPlay);
auto sound = sf::Sound(buffer);
sound.play();
}
但是我没有听到任何声音。我是否必须为地图中的每个声音存储不同的声音对象?我还尝试使用 sf::Sound 对象作为 class 成员,但这也没有用。
使用这个 ResourceHolder 可以正确加载我的纹理。
谢谢你的帮助
我能够通过 sfml-dev 论坛中的一些 enter link description here 解决这个问题。
我目前正在使用 sfml 开发一个小游戏。
对于资源加载和保存,我正在使用 SFML 游戏中描述的 ResourceHolder 开发书:SFML ResourceHolder 资源基本上都是以unique_ptr的形式存储在一个map中。
在 SoundManager 中 class 我正在向此 ResourceHolder 加载不同的声音。当我想播放声音时,这个 SoundManager 有一个 playSound 函数。
void SoundManager::playSound(SoundType soundToPlay) {
auto buffer = sounds.get(soundToPlay);
auto sound = sf::Sound(buffer);
sound.play();
}
但是我没有听到任何声音。我是否必须为地图中的每个声音存储不同的声音对象?我还尝试使用 sf::Sound 对象作为 class 成员,但这也没有用。
使用这个 ResourceHolder 可以正确加载我的纹理。
谢谢你的帮助
我能够通过 sfml-dev 论坛中的一些 enter link description here 解决这个问题。