【问题标题】:The music doesn't start音乐没有开始
【发布时间】:2018-12-02 20:26:36
【问题描述】:

当我运行程序时,音乐不会出现。 我检查了文件是否预加载了问题。 我的文件是 .ogg,受 sfml 支持。 我不明白为什么我运行程序时没有声音。 我加载文件时没有问题

#pragma once

#include <SFML/Audio.hpp>

class Audio
{
public:
        Audio();
        ~Audio();
        bool    load();
        bool    gest();
private:
        sf::Music       _main;
};

bool    Audio::load()
{
    if (!_main.openFromFile("res/zelda.ogg"))
                return false;
        return true;
}

bool    Audio::gest()
{
        if (!load())
                return false;
        _main.play();
        return true;
}

int     main(void)
{
        Monitor         window;
        Audio           music;

        window.initWindow();
        while (window.run())
                music.gest();
}

【问题讨论】:

    标签: c++ class audio sfml


    【解决方案1】:

    您在循环中调用music.gest(),而循环又每次都调用load()您确实也在循环中调用sf::SoundStream::play(),但流被重新初始化每次。

    无论如何,您都不应该在循环中调用play()。 SFML 确保 sf::Music 实例在自己的线程上保持流式传输。

    【讨论】:

      猜你喜欢
      • 2019-05-26
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-04-16
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多