Enregistrement audio en direct à partir de l'entrée micro et enregistrer simultanément

J'essaie de développer un enregistreur de Voix en C#. J'ai essayé de nombreuses façons, comme NAudio, DirectX, Microsoft.Xna.Cadre.Audio, etc.

Tout donne le même résultat. Après nous arrêter l'enregistrement, le fichier de sortie mp3/wav enregistrés.

Le fichier mp3/wav créés au début elle-même (et sans contenu - 0 octets)

Je suis en train de créer une application qui peut enregistrer de l'audio en direct/simultanément.

    private void StartRecording() {
        this.WaveSource = new WaveInEvent { WaveFormat = new WaveFormat(44100, 1) };

        this.WaveSource.DataAvailable += this.WaveSourceDataAvailable;
        this.WaveSource.RecordingStopped += this.WaveSourceRecordingStopped;

        this.WaveFile = new WaveFileWriter(@"C:\Sample.wav", this.WaveSource.WaveFormat);

        this.WaveSource.StartRecording();
    }

    private void StopRecording() {
        this.WaveSource.StopRecording();
    }

    void WaveSourceDataAvailable(object sender, WaveInEventArgs e) {
        if (this.WaveFile != null) {
            this.WaveFile.Write(e.Buffer, 0, e.BytesRecorded);
            this.WaveFile.Flush();
        }
    }

    void WaveSourceRecordingStopped(object sender, StoppedEventArgs e) {
        if (this.WaveSource != null) {
            this.WaveSource.Dispose();
            this.WaveSource = null;
        }

        if (this.WaveFile != null) {
            this.WaveFile.Dispose();
            this.WaveFile = null;
        }
    }

OriginalL'auteur Sarin Vadakkey Thayyil | 2015-05-07