SFML SoundBuffer в музыкальный буфер

У меня есть SoundBuffer. Я хочу, чтобы этот буфер переместился в Music.
Пока я сохраняю в файле и зачитываю, но не хочу сохранять. Что я могу сделать?
Теперь у меня есть этот код:

sf::SoundBuffer sb = getSoundBuffer(new_channels,sample_rate);
sb.saveToFile("sound.wav");
std::unique_ptr<sf::Music> Buffer(new sf::Music());
Buffer->openFromFile("sound.wav")
musicAlias[alias] = std::move(Buffer);
...
music->selected = musicAlias[alias].get();

2

Решение

Класс sf::Music предназначен для воспроизведения длинных аудиоданных, загруженных из файла. Если вы хотите воспроизводить музыку в звуковом буфере, используйте sf::Sound как это:

sf::SoundBuffer sb = getSoundBuffer(new_channels,sample_rate);
std::unique_ptr<sf::Sound> Buffer(new sf::Sound( sb ));
musicAlias[alias] = std::move(Buffer);
...
music->selected = musicAlias[alias].get();

Возможно, вам придется изменить тип musicAlias быть контейнером std::unique_ptr<sf::Sound>, но это должно работать, потому что sf::Sound класс обеспечивает очень похожий интерфейс как sf::Music учебный класс.

2

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]