Enregistrement audio

Fermé
NiicoDu42 Messages postés 157 Date d'inscription mardi 8 janvier 2013 Statut Membre Dernière intervention 20 mars 2017 - 19 mars 2017 à 19:41
 Utilisateur anonyme - 23 mars 2017 à 21:19
Bonjour,

Je voudrais réaliser un petit programme, qui permettrait d'enregistrer la sortie audio de la carte son en .WAV, puis de la lire.
J'arrive pour l'instant à enregistrer le fichier. J'arrive également à le lire.
MAIS pas durant la même exécution du projet. C'est-à-dire que lorsque j'enregistre le fichier .wav et que je veux le lire (l'enregistrement est bien terminé) durant l’exécution du programme celui ci m'indique que le fichier est déjà en cours d'utilisation.
Voici le code :

        private WasapiCapture capture = null;
        private WaveWriter w = null;

Démarrage de l'enregistrement :
capture = new WasapiLoopbackCapture();
capture.Initialize();
w = new WaveWriter("rec//rec1.wav", capture.WaveFormat);
capture.DataAvailable += (s, capData) =>
{
          w.Write(capData.Data, capData.Offset, capData.ByteCount);
};
capture.Start();


Arret :

if (w != null && capture != null)
{
                            //stop recording
                            capture.Stop();
                            capture.Dispose();
                            capture = null;
                            w.Dispose();
                            w = null;
                            //Close();
                            button28.BackColor = System.Drawing.Color.Orange;//Changement de couleur
}

A voir également:

1 réponse

Utilisateur anonyme
19 mars 2017 à 20:04
w.Close()
avant le dispose?
0
NiicoDu42 Messages postés 157 Date d'inscription mardi 8 janvier 2013 Statut Membre Dernière intervention 20 mars 2017 10
19 mars 2017 à 20:18
Il ne me le prend pas, erreur ...
0
Utilisateur anonyme
19 mars 2017 à 21:02
Quelle erreur?
0
NiicoDu42 Messages postés 157 Date d'inscription mardi 8 janvier 2013 Statut Membre Dernière intervention 20 mars 2017 10
19 mars 2017 à 21:24
Celle-ci :

'WaveWriter' ne contient pas de définition pour 'Close' et aucune méthode d'extension 'Close' acceptant un premier argument de type 'WaveWriter' n'a été trouvée (une directive using ou une référence d'assembly est-elle manquante ?)
0
ok, il sort d’où ce WaveWriter?
EDIT c'est celui là?
https://www.streamcoders.com/products/msdoc/html/T_StreamCoders_Container_WaveWriter.htm
0
Il sort de là, c'est le type de w :

private WasapiCapture capture = null;
private WaveWriter w = null;
0