کسری نعمتی مهمان ارسال شده در 9 آبان، ۱۳۹۳ اشتراک گذاری ارسال شده در 9 آبان، ۱۳۹۳ سلام دوستان.تو این آموزش یاد میگیرید چطور یک متن رو بدین و براتون خونده بشه و چیز جالبیه . برای این کار به کتابخونه TTS نیاز داریم. اول کتابخونه رو تعریف میکنیم Sub Process_Globals Dim TTS1 As TTS End Sub Sub Globals Dim barPitch As SeekBar Dim barSpeechRate As SeekBar Dim btnSpeak As Button Dim EditText1 As EditText Dim spnrLanguages As Spinner End Sub این هارو که تعریف کردیم و مشخصه چیه.جلو تر میبینیم که چرا تعریف شدن Sub Activity_Create(FirstTime As Boolean) Activity.LoadLayout("test") spnrLanguages.AddAll(Array As String("english", "persian", "germany")) End Sub ما تو spinner بالا 3 تا زبان قرار دادیم که البته پیش فرض همون انگلیسیه خب این کتابخونه فقط یک Event داره که همونطور که میدونید با زدن space + tab این event ها میان.اسم این event هم هست Ready Sub TTS1_Ready (Success As Boolean) If Success Then For i = 0 To Activity.NumberOfViews - 1 Activity.GetView(i).Enabled = True Next btnSpeak_Click Else Msgbox("eror baraye intialize kardan","title") End If End Sub ما اینجا گفتیم که اگه آماده شد تمام view هایی که حالا شاید تو Designer غیر فعال کردیم رو فعال کن.بعدشم که گفتیم btnSpeak_Click تا دستوراتی که تو sub btnSpeak_Click نوشتیم رو اینجا انجام بده Sub Activity_Resume If TTS1.IsInitialized = False Then TTS1.Initialize("TTS1") End If End Sub ما در کد بالا intialize بودن کتابخونه رو چک کردیم که اگه نبود intialize بشه اینجا Sub Activity_Pause (UserClosed As Boolean) TTS1.Release End Sub خب این دستور release که کتابخونه TTS داره برای پخش کردن صدا به کار میره که ترجمه اش به فارسی هم همینه Sub btnSpeak_Click If EditText1.Text.Length > 0 Then TTS1.Speak(EditText1.Text, True) EditText1.SelectAll End If End Sub ما در کد بالا میگیم که اگه مقدار رشته edittext از 0 بیشتر بود ( یعنی کاربر یه چیزی توش نوشته باشه ) البته راه های دیگه ای برای اینکار هست بیاد TTS1.speak یعنی شروع کنه به خوندن.اون قسما هم که نوشته EditText1.SelectAll میایم کل متن این edittext رو میگیریم Sub barSpeechRate_ValueChanged (Value As Int, UserChanged As Boolean) If UserChanged Then tts1.SpeechRate = Value / 10 End If End Sub خب اولا که حالت Defualt این speechRate ما که برای سرعت گفتار به کار میره 1 هست برای همین ما برای اینکه Value ها بین 1 تا 10 باشه تقسیم بر 10 میکنیم Sub barPitch_ValueChanged (Value As Int, UserChanged As Boolean) If UserChanged Then tts1.Pitch = Value / 10 End If End Sub Sub spnrLanguages_ItemClick (Position As Int, Value As Object) If tts1.SetLanguage(Value, "") = False Then ToastMessageShow("Language data not found.", True) Return End If End Sub که البته این کتابخونه فقط انگلیسی پشتیبانی میکنه تو کد بالا فقط خواستم خاصیت setLanguage گفته بشه تا آموزش دیگه عزت زیاد مشتی گلی ها *give_heart* لینک ارسال به اشتراک گذاری در سایت های دیگر تنظیمات بیشتر اشتراک گذاری ...
raouf4850 150 ارسال شده در 30 اردیبهشت، ۱۳۹۴ اشتراک گذاری ارسال شده در 30 اردیبهشت، ۱۳۹۴ میشه سورس قرار بدید؟ لینک ارسال به اشتراک گذاری در سایت های دیگر تنظیمات بیشتر اشتراک گذاری ...
sajadakbari 163 ارسال شده در 30 اردیبهشت، ۱۳۹۴ اشتراک گذاری ارسال شده در 30 اردیبهشت، ۱۳۹۴ ممنون. خیلی کاربردیه. پرچم گیلانیا بالاست. ***solh*** لینک ارسال به اشتراک گذاری در سایت های دیگر تنظیمات بیشتر اشتراک گذاری ...
ارسالهای توصیه شده
بایگانی شده
این موضوع بایگانی و قفل شده و دیگر امکان ارسال پاسخ نیست.