سلام
من در حال حاظر یه برنامه می نویسم که متن رو به صدا تبدیل میکنه حالا می خوام این صدا رو ذخیره کنم در یک فضا این کار رو چطور انجام بدم ؟ توجه داشته باشید که صدای میکروفن رو نمی خوام صدایی که از اسپیکر پخش میشه رو می خوام
Printable View
سلام
من در حال حاظر یه برنامه می نویسم که متن رو به صدا تبدیل میکنه حالا می خوام این صدا رو ذخیره کنم در یک فضا این کار رو چطور انجام بدم ؟ توجه داشته باشید که صدای میکروفن رو نمی خوام صدایی که از اسپیکر پخش میشه رو می خوام
سلام
اگه از SpeechSynthesizer برای تبدیل متن انگلیسی به صوت استفاده می کنید ، نیازی به این کارها نیست ، SpeechSynthesizer خروجی صوتی با فرمت wav می دهد.
اگر بخواهید خروجی کارت صوت را رکورد کنید باید بسته به طول متن ، چند دقیقه یا چند ساعت صبر کنید تا متن پخش بشه و شما رکورد را انجام دهید.
ولی با SetOutputToWaveFile در چند ثانیه این کار انجام میشه.
تبدیل متن به فایل صوتی
مسیر ذخیره فایل و متن را خودتان تغییر دهید.
using System.Speech.Synthesis;
private void button1_Click(object sender, EventArgs e)
{
SpeechSynthesizer ss = new SpeechSynthesizer();
ss.Volume = 100;
ss.SelectVoiceByHints(VoiceGender.Female, VoiceAge.Adult);
ss.SetOutputToWaveFile(@"C:\MyAudioFile.wav");
ss.Speak("Hello World");
}
در این کد چون مسیر ذخیره فایل در پارتیشن c است ، اگر برنامه دسترسی ادمین نداشته باشد ، نمی تواند فایل را ذخیره کند.