2016-05-04 5 views
1

Ich möchte Audio lesen von zwei Dateien (1 mp3 und 1 wav (aufgenommene Stimme) Datei) in eine Datei (mp3 oder WAV) mischen.Mix Audio lesen von zwei Quelldateien

Ich habe viele relevante Antworten gelesen, aber nicht geholfen mir zu bekommen, was ich wollte.

Wie dieser Code unten erzeugen Sie einen Dampf als Ausgabe. Ich weiß nicht, wie ich diese Funktion richtig aufrufen soll und wie man den Output-Stream am Ende als mp3/wav-Datei erhält.

public static void Combine(string[] inputFiles, Stream output) 
{ 
    foreach (string file in inputFiles) 
    { 
     Mp3FileReader reader = new Mp3FileReader(file); 
     if ((output.Position == 0) && (reader.Id3v2Tag != null)) 
     { 
      output.Write(reader.Id3v2Tag.RawData, 0, reader.Id3v2Tag.RawData.Length); 
     } 
     Mp3Frame frame; 
     while ((frame = reader.ReadNextFrame()) != null) 
     { 
      output.Write(frame.RawData, 0, frame.RawData.Length); 
     } 
    } 
} 
+0

Wer wird es beantworten? Bitte !! –

+0

Wenn Sie sagen, zwei Dateien zusammenführen, möchten Sie sie von Anfang an bei gleicher Lautstärke kombiniert? Oder willst du eines am Ende des anderen setzen? –

+0

Ich möchte sie auf eine Weise verschmelzen, dass beide zusammen spielen werden. Es ist so, als ob ich die Aufnahme eines Benutzers in einer Musik mit C# -Code mischen möchte. –

Antwort

0

Es sieht aus wie Sie den Code von http://mark-dot-net.blogspot.com/2010/11/merging-mp3-files-with-naudio-in-c-and.html genommen haben. Schauen Sie sich auch http://markheath.net/post/mixing-and-looping-with-naudio an. Hier geht es sowohl um Looping als auch um Mixing. Da Sie nicht loopen, brauchen Sie diesen Teil nicht.

Beachten Sie, dass das Beispiel dort das Audio an den Lautsprecher sendet. Sie können diese Ausgabe jedoch immer durch eine (z. B.) WaveFileWriter ersetzen.

Beachten Sie auch, dass die MixingWaveProvider32 erfordert, dass alle Eingänge in demselben WaveFormat sind. Wenn das nicht der Fall ist, müssen Sie einen Resampler verwenden. Glücklicherweise gibt es http://mark-dot-net.blogspot.com/2014/05/how-to-resample-audio-with-naudio.html, um Ihnen auch da draußen zu helfen.

+0

können Sie bitte einen Beispielcode teilen Wie kann ich als mp3 oder wav Datei mit diesem 'WaveFileWriter' ausgeben? –