Bienvenue, Invité. Merci de vous connecter ou de vous inscrire.
Avez-vous perdu votre e-mail d'activation ?

Auteur Sujet: Probleme volume  (Lu 2943 fois)

0 Membres et 1 Invité sur ce sujet

nico69

  • Newbie
  • *
  • Messages: 22
    • Voir le profil
Probleme volume
« le: Septembre 09, 2016, 01:18:57 am »
Bonjour,

Pour un projet actuel, j'essaye de mettre au point un système de fondu (en ouverture et fermeture de la musique, qui tourne en boucle).
En testant le système j'ai remarqué que le fondu ne se faisait pas .... alors que le volume est correctement pris en compte (getVolum retourne la bonne valeur).
J'obtiens l'effet désiré quand le volume est bas (entre 0 et 30 environ, après le volume reste constant).

J'ai ensuite voulu voir ce qui se passait niveau son, donc j'ai fait un test sur un bruit uni, et enregistré sur audacity.

#include <SFML/Audio/Music.hpp>
#include <SFML/Window/Window.hpp>
#include <SFML/Window/Event.hpp>
#include <SFML/System/Clock.hpp>

int main()
{
    sf::Window window(sf::VideoMode(200, 200), "Music test");
    window.setFramerateLimit(60);

    sf::Clock c;

    sf::Music m;
    m.openFromFile("res/music/480Hz.ogg");
    m.play();
    bool isHight(true);

    while (window.isOpen())
    {
        sf::Event event;
        while (window.pollEvent(event))
        {
            if (event.type == sf::Event::Closed)
                window.close();
        }

        if(c.getElapsedTime().asSeconds() > 1)
        {
            c.restart();
            isHight = !isHight;
            m.setVolume(isHight ? 100 : 5); //le volume change entre 100 et 5 toutes les secondes.
        }

        window.display();
    }

    return 0;
}
 
Je devrais donc ici m'attendre a voir un créneau apparaitre sur l'enregistrement.
Mais contre toute attente ... j’obtiens ceci :

Lorsque le son baisse, celui ci est bien pris en compte, mais revient rapidement à sa valeur maximum.
Lorsque le minimum est à 5%, la valeur remonte aussi pas mal .... pour arriver autour de 40%.

Quel serais la cause de ce probleme ? Suis-je le seul à avoir ce comportement ?