Quaussi
Ensign
- Registriert
- Aug. 2013
- Beiträge
- 244
Hey User,
ich hätte da wieder ein Problem.
Mein Ziel ist es viele Audioformate in Mp3 umzuwandeln.
bereits geschafft: wav -> mp3, ogg -> mp3, wma -> mp3
Wie Ihr in meinem Programmcode erkennen könnt, ist es schwer auf direkten Weg zum Format Mp3 zu gelangen.
Daher gehe ich über Umwege zu diesem Format: ogg -> wav -> mp3, wma -> wav -> mp3
folgende Bibliotheken benutze ich zusätzlich: NAudio, NAudio.WindowsMediaFormat, NVorbis, NVorbis.NAudioSupport und lame_enc
Alle libs bis auf Lame konnte ich in die Verweise mit einbinden. Lame selber musste ich in einen Ordner mit der .exe stecken.

Im Internet habe ich bereits nach Bibliotheken für mein Problem (aac, flac) gesucht, aber alle gingen nicht einzubinden
Ich sollte noch erwähnen, dass ich kein Experte bin in Programmierung...
Ich bin Dankbar für jeden guten Ratschlag den Ihr habt!!!
ich hätte da wieder ein Problem.
Mein Ziel ist es viele Audioformate in Mp3 umzuwandeln.
bereits geschafft: wav -> mp3, ogg -> mp3, wma -> mp3
Wie Ihr in meinem Programmcode erkennen könnt, ist es schwer auf direkten Weg zum Format Mp3 zu gelangen.
Daher gehe ich über Umwege zu diesem Format: ogg -> wav -> mp3, wma -> wav -> mp3
folgende Bibliotheken benutze ich zusätzlich: NAudio, NAudio.WindowsMediaFormat, NVorbis, NVorbis.NAudioSupport und lame_enc
Alle libs bis auf Lame konnte ich in die Verweise mit einbinden. Lame selber musste ich in einen Ordner mit der .exe stecken.

Im Internet habe ich bereits nach Bibliotheken für mein Problem (aac, flac) gesucht, aber alle gingen nicht einzubinden

Ich sollte noch erwähnen, dass ich kein Experte bin in Programmierung...
Ich bin Dankbar für jeden guten Ratschlag den Ihr habt!!!
Code:
using System;
using System.Collections.Generic;
using System.Text;
using System.Diagnostics;
using NAudio.Wave;
using NAudio.WindowsMediaFormat;
namespace lame_enc
{
class Program
{
static void Main()
{
Console.WriteLine("MP3/WAV CONVERTER");
Console.WriteLine("Using LAME");
Console.Write(" WAV TO MP3");
//LameWavToMp3(@"..\..\Sample\input\wav\Champs.wav", @"..\..\Sample\output\mp3\AAA.mp3");
//NAudioOggToWav(@"..\..\Sample\input\ogg\Queens.ogg", @"..\..\Sample\output\wav\Queens.wav");
//NAudioWMAToWav(@"..\..\Sample\input\wma\hive.wma", @"..\..\Sample\output\wav\hive.wav");
NAudioFlacToWav(@"..\..\Sample\input\flac\mother.flac", @"..\..\Sample\output\wav\mother.wav");
Console.WriteLine(" : Successfully");
Console.ReadLine();
}
private static void LameWavToMp3(string wavFile, string outmp3File)
{
ProcessStartInfo psi = new ProcessStartInfo();
psi.FileName = @"..\..\Lame\lame.exe";
psi.Arguments = "-V2 " + wavFile + " " + outmp3File; //-V XX ist die Qualität, je tiefer XX (z.B. 1), desto besser ist die Qualität
psi.WindowStyle = ProcessWindowStyle.Hidden;
Process p = Process.Start(psi);
p.WaitForExit();
}
private static void NAudioWMAToWav(string wmaFile, string wavFile)
{
using (WMAFileReader reader = new WMAFileReader(wmaFile))
{
using (WaveStream pcmStream = WaveFormatConversionStream.CreatePcmStream(reader))
{
WaveFileWriter.CreateWaveFile(wavFile, pcmStream);
}
}
}
private static void NAudioOggToWav(string oggFile, string wavFile)
{
using (var vorbis = new NVorbis.NAudioSupport.VorbisWaveReader(oggFile))
{
WaveFileWriter.CreateWaveFile(wavFile, vorbis);
}
}
private static void NAudioFlacToWav(string flacFile, string wavFile)
{
//...
}
}
}