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

Auteur Sujet: [ABANDONNÉ] Impossible de reprendre la lecture après un pause  (Lu 2523 fois)

0 Membres et 1 Invité sur ce sujet

DragonRock

  • Newbie
  • *
  • Messages: 14
    • Voir le profil
Bonjour,

tout d'abord, merci pour la SFML, qui est selon moi une des meilleures librairies multimedia en C++.

En ce moment, j'essaie de faire un petit lecture de musique en Rust, et j'utilise Rust-SFML qui est lui-même basé sur CSFML qui est lui-même basé sur SFML. Pour faire face à un bug, je suis revenu en C++, et je rencontre le problème suivant : après avoir mis en pause une musique, impossible de reprendre la lecture. getStatus me renvoie sf::Sound::Playing, mais plus aucun son dans mes écouteurs.

J'ai l'impression que ça pourrait être quelque chose de stupide, mais je n'arrive pas à détecter quoi.

#include <iostream>
#include <chrono>
#include <thread>
#include <cassert>
#include <SFML/Audio/Music.hpp>
#include <SFML/Audio/Sound.hpp>

int main(int argc, char *argv[])
{
    sf::Music music;
    if (!music.openFromFile("resources/orchestral.ogg")) {
        return 1;
    }

    music.play();
    assert(music.getStatus() == sf::Sound::Playing);

    std::this_thread::sleep_for(std::chrono::seconds(5));

    music.pause();
    assert(music.getStatus() == sf::Sound::Paused);

    music.play();
    assert(music.getStatus() == sf::Sound::Playing);

    std::this_thread::sleep_for(std::chrono::seconds(10));

    return 0;
}

que je compile avec

g++ -std=c++14 main.cpp -o main -lsfml-audio

Je suis sous ArchLinux, j'ai testé ce code avec gcc 7.1.1 et clang 4.0.1 et j'utilise la SFML 2.4.2.

Vous avez des pistes ?

Merci d'avance !
« Modifié: Juillet 03, 2017, 11:25:56 am par DragonRock »

Laurent

  • Administrator
  • Hero Member
  • *****
  • Messages: 32504
    • Voir le profil
    • SFML's website
    • E-mail
Re: Impossible de reprendre la lecture après un pause
« Réponse #1 le: Juin 28, 2017, 03:41:08 pm »
Tu devrais poster sur le forum anglais, les développeurs qui s'occupent de l'audio se trouvent là-bas.
Laurent Gomila - SFML developer

DragonRock

  • Newbie
  • *
  • Messages: 14
    • Voir le profil
Re: Impossible de reprendre la lecture après un pause
« Réponse #2 le: Juin 28, 2017, 04:01:19 pm »
Merci du conseil, j'y vais de ce pas !

EDIT:
J'ai posé la question sur le forum anglais et la conclusion est que ça marche correctement sur windows et sur ubuntu.

Je dois probablement avoir un problème de configuration de ma carte son.

J'ai décidé de résoudre ce problème de façon un peu dégueu en recodant le pause moi même : lors d'un pause, je stoppe la musique, j'enregistre le playing_offset, et au moment de reprendre la lecture, je reprends à partir de zéro, et je change le playing_offset pour revenir là où j'avais pausé.

Merci pour votre aide en tout cas !
« Modifié: Juillet 03, 2017, 11:25:41 am par DragonRock »