Enregistrement audio

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
}

1 réponse

  1. w.Close()
    avant le dispose?
    0
    1. Il ne me le prend pas, erreur ...
      0
    2. Quelle erreur?
      0
    3. 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
    4. Il sort de là, c'est le type de w :

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