Naudio: Mikrofon -Audio erfassen und auf einem C# MemoryStream als Wellenformat speichernC#

Ein Treffpunkt für C#-Programmierer
Anonymous
 Naudio: Mikrofon -Audio erfassen und auf einem C# MemoryStream als Wellenformat speichern

Post by Anonymous »

Ich versuche, einen Code in C#mit der Naudio -Bibliothek zu schreiben. Dies besteht darin, das Audio aus dem Mikrofon aufzuzeichnen und an eine Cloud -API zu senden. Die API -Methode empfängt einen Speicherstream. Ich kann es beim Laden der aufgezeichneten Datei erfolgreich zum Laden bringen. < /P>

Code: Select all

var recResult = speechToText.Recognize(
audio: new MemoryStream(File.ReadAllBytes("audio-file.wav")),
model: "pt-BR_Multimedia",
contentType: "audio/wav");
< /code>
Was ich jetzt versuche, ist es, das Speichern der WAV -Datei zu [url=viewtopic.php?t=15143]vermeiden[/url] und den MemoryStream direkt aus dem Aufnahmeprozess zu senden. Objekt;
memstream ist ein memoryStream -Objekt < /p>
void OnDataAvailable(object sender, WaveInEventArgs e)
{
if (InvokeRequired)
{
//Debug.WriteLine("Data Available");
BeginInvoke(new EventHandler(OnDataAvailable), sender, e);
}
else
{
//this is my new MemoryStream object
memStream.Write(e.Buffer, 0, e.BytesRecorded);

//this is the reguler working writer object
writer.Write(e.Buffer, 0, e.BytesRecorded);

int secondsRecorded = (int)(writer.Length / writer.WaveFormat.AverageBytesPerSecond);
if (secondsRecorded >= 5)
{
StopRecording();
}
else
{
progressBar1.Value = secondsRecorded;
}
}
}
Während dies gut kompiliert und ausgeführt wird, wird der MemoryStream nicht von der API akzeptiert, die zu einem Laufzeitfehler führt (schlechte Anfrage). /> Danke,
Márcio < /p>

Quick Reply

Change Text Case: 
   
  • Similar Topics
    Replies
    Views
    Last post