Announcement

Collapse
No announcement yet.

[C#] Cách tạo file mp3 và jpg trong c#

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • [C#] [C#] Cách tạo file mp3 và jpg trong c#

    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?
    chúng ta chỉ thất bại khi chúng ta từ bỏ mọi thứ

  • #2
    ví dụ thử 01 file text chứa gì trong đó và file mp3 tương ứng nó sẽ ra sao em

    Comment


    • #3
      file mp3 được tạo khi đọc file text ak thầy
      chúng ta chỉ thất bại khi chúng ta từ bỏ mọi thứ

      Comment


      • #4
        Đọc file text thì nó ra ký tự chứ liên quan gì mp3 em ?

        Comment


        • #5
          Có nghĩa là Text to speech phải không?

          Comment


          • #6
            Nếu muốn đọc text ra file audio thì tìm hiểu thằng này System.Speech.Synthesis
            _________________________________
            Handphone No. : 0165 304 6757
            Email : buihuuhiep.uit@gmail.com

            Comment


            • #7
              Originally posted by 10520418 View Post
              Nếu muốn đọc text ra file audio thì tìm hiểu thằng này System.Speech.Synthesis
              cái đó thì xong rồi. mà em muốn lưu ra file luôn à
              chúng ta chỉ thất bại khi chúng ta từ bỏ mọi thứ

              Comment


              • #8
                Originally posted by 14520927 View Post
                cái đó thì xong rồi. mà em muốn lưu ra file luôn à
                Anh chưa làm cái này bao giờ nhưng chỉ cần google 1 tí là ra mà: https://msdn.microsoft.com/en-us/lib...v=vs.110).aspx

                Comment


                • #9
                  Để 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();
                          }
                  Gọi hàm lưu dạng *.wav:
                  Code:
                  TextSaveAsWav("Vidu.wav", "I am Exapmle");
                  Nếu e muốn luôn nó dưới dạng *.mp3 thì có thể làm như sau
                  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);
                              }
                          }
                  Gọi hàm lưu dưới dạng *.mp3:
                  Code:
                  TextSaveAsMp3("Vidu.mp3", "I am Exapmle");

                  Comment


                  • #10
                    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();
                            }
                    Gọi hàm lưu dạng *.wav:
                    Code:
                    TextSaveAsWav("Vidu.wav", "I am Exapmle");
                    Nếu e muốn luôn nó dưới dạng *.mp3 thì có thể làm như sau
                    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);
                                }
                            }
                    Gọi hàm lưu dưới dạng *.mp3:
                    Code:
                    TextSaveAsMp3("Vidu.mp3", "I am Exapmle");
                    dạ. em cảm ơn anh
                    chúng ta chỉ thất bại khi chúng ta từ bỏ mọi thứ

                    Comment

                    LHQC

                    Collapse
                    Working...
                    X