سلام
من در حال حاظر یه برنامه می نویسم که متن رو به صدا تبدیل میکنه حالا می خوام این صدا رو ذخیره کنم در یک فضا این کار رو چطور انجام بدم ؟ توجه داشته باشید که صدای میکروفن رو نمی خوام صدایی که از اسپیکر پخش میشه رو می خوام
سلام
من در حال حاظر یه برنامه می نویسم که متن رو به صدا تبدیل میکنه حالا می خوام این صدا رو ذخیره کنم در یک فضا این کار رو چطور انجام بدم ؟ توجه داشته باشید که صدای میکروفن رو نمی خوام صدایی که از اسپیکر پخش میشه رو می خوام
سلام
اگه از SpeechSynthesizer برای تبدیل متن انگلیسی به صوت استفاده می کنید ، نیازی به این کارها نیست ، SpeechSynthesizer خروجی صوتی با فرمت wav می دهد.
اگر بخواهید خروجی کارت صوت را رکورد کنید باید بسته به طول متن ، چند دقیقه یا چند ساعت صبر کنید تا متن پخش بشه و شما رکورد را انجام دهید.
ولی با SetOutputToWaveFile در چند ثانیه این کار انجام میشه.
آخرین ویرایش به وسیله 336699 : جمعه 21 مهر 1396 در 11:52 صبح
تبدیل متن به فایل صوتی
مسیر ذخیره فایل و متن را خودتان تغییر دهید.
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 است ، اگر برنامه دسترسی ادمین نداشته باشد ، نمی تواند فایل را ذخیره کند.