SFML - Mettre en pause un enregistrement audio

Messages postés
37
Date d'inscription
mercredi 14 août 2019
Statut
Membre
Dernière intervention
14 octobre 2019
- - Dernière réponse : MemeTech
Messages postés
37
Date d'inscription
mercredi 14 août 2019
Statut
Membre
Dernière intervention
14 octobre 2019
- 4 oct. 2019 à 15:37
Bonjour !
Tout est dans le titre, je souhaite proposer à l'utilisateur de mon enregistreur audio de mettre en pause l'enregistrement et de le reprendre quand il le souhaite.

La doc ne semble pas proposer de fonction pause () à la classe sf::SoundBufferRecorder, peut être il y a-t-il une autre solution ?

Merci d'avance !
Afficher la suite 

2 réponses

Messages postés
4889
Date d'inscription
dimanche 12 juin 2011
Statut
Contributeur
Dernière intervention
9 octobre 2019
857
0
Merci
'lut,
la pause n'est pas souvent une fonctionnalité dispo sur les APIs d'enregistrement, donc rien d'exceptionnel de la part de la SFML.

Une solution (parmi d'autres) consiste à arrêter l'enregistrement (
stop()
) quand on veut mettre en pause, et garder les buffers résultat quelque part (mémoire, disque, ...) tant qu'on arrête pas complètement l'enregistrement. Quand on a fini, on prend les buffers et les combine (en sortant les données des buffers avec
SoundBuffer::getSamples
, les copiant dans un conteneur tel que
std::vector<Int16>
, et les rechargeant avec
SoundBuffer::loadFromSamples
).

Sinon j'ai rapidement regardé le code des classes d'enregistrement de la SFML et, bien que pas testé, il me semble que l'on peut faire start/stop plusieurs fois sur un même
SoundBufferRecorder
, permettant de mettre en pause. Ce n'est documenté nulle part, ceci dit, donc à vérifier.
Commenter la réponse de ElementW
Messages postés
37
Date d'inscription
mercredi 14 août 2019
Statut
Membre
Dernière intervention
14 octobre 2019
0
Merci
Merci pour m'avoir aidé si vite !

Pour mettre en pause avec start () / stop (), j ai déjà essayé, ça ne fonctionne pas.

En revanche, j'imagine que les std::vector doivent fonctionner, mais je ne sais pas comment faire, je ne connais pas le fonctionnement de ces échantillons audio.

Pourriez-vous m'éclairer à ce sujet ?
Commenter la réponse de MemeTech