Mọi người cho mình hỏi, có cách nào để tạo 1 file mp3 từ file text trong c# không?
Announcement
Collapse
No announcement yet.
[C#] Cách tạo file mp3 và jpg trong c#
Collapse
X
-
Nếu muốn đọc text ra file audio thì tìm hiểu thằng này System.Speech.Synthesis
Comment
-
Để lưu Text thành *.wav file thì có thể dùng đơn giản namespace: System.Speech.Synthesis
Code:private static void TextSaveAsWav(string FileName, string Text) { FileStream fs = new FileStream(FileName, FileMode.Create, FileAccess.Write); voice.SetOutputToWaveStream(fs); voice.Speak(Text); fs.Close(); }
Code:TextSaveAsWav("Vidu.wav", "I am Exapmle");
Vào Tools -> Nuget Package Manager -> Package Manager Console, Enter dòng sau: Install-Package NAudio.Lame
khi đó mã lưu Text dưới dạng *.mp3 như này:
Code:private static void TextSaveAsMp3(string FileName, string Text) { using (SpeechSynthesizer reader = new SpeechSynthesizer()) { //set some settings reader.Volume = 100; reader.Rate = 0; //medium //save to memory stream MemoryStream ms = new MemoryStream(); reader.SetOutputToWaveStream(ms); //do speaking reader.Speak(Text); //now convert to mp3 using LameEncoder or shell out to audiograbber ConvertWavStreamToMp3File(ref ms, FileName); } } public static void ConvertWavStreamToMp3File(ref MemoryStream ms, string savetofilename) { //rewind to beginning of stream ms.Seek(0, SeekOrigin.Begin); using (var retMs = new MemoryStream()) using (var rdr = new WaveFileReader(ms)) using (var wtr = new LameMP3FileWriter(savetofilename, rdr.WaveFormat, LAMEPreset.VBR_90)) { rdr.CopyTo(wtr); } }
Code:TextSaveAsMp3("Vidu.mp3", "I am Exapmle");
Comment
-
Originally posted by 12520545 View PostĐể lưu Text thành *.wav file thì có thể dùng đơn giản namespace: System.Speech.Synthesis
Code:private static void TextSaveAsWav(string FileName, string Text) { FileStream fs = new FileStream(FileName, FileMode.Create, FileAccess.Write); voice.SetOutputToWaveStream(fs); voice.Speak(Text); fs.Close(); }
Code:TextSaveAsWav("Vidu.wav", "I am Exapmle");
Vào Tools -> Nuget Package Manager -> Package Manager Console, Enter dòng sau: Install-Package NAudio.Lame
khi đó mã lưu Text dưới dạng *.mp3 như này:
Code:private static void TextSaveAsMp3(string FileName, string Text) { using (SpeechSynthesizer reader = new SpeechSynthesizer()) { //set some settings reader.Volume = 100; reader.Rate = 0; //medium //save to memory stream MemoryStream ms = new MemoryStream(); reader.SetOutputToWaveStream(ms); //do speaking reader.Speak(Text); //now convert to mp3 using LameEncoder or shell out to audiograbber ConvertWavStreamToMp3File(ref ms, FileName); } } public static void ConvertWavStreamToMp3File(ref MemoryStream ms, string savetofilename) { //rewind to beginning of stream ms.Seek(0, SeekOrigin.Begin); using (var retMs = new MemoryStream()) using (var rdr = new WaveFileReader(ms)) using (var wtr = new LameMP3FileWriter(savetofilename, rdr.WaveFormat, LAMEPreset.VBR_90)) { rdr.CopyTo(wtr); } }
Code:TextSaveAsMp3("Vidu.mp3", "I am Exapmle");
chúng ta chỉ thất bại khi chúng ta từ bỏ mọi thứ
Comment
Comment