حبيت اني اشرح هذا الموضوع استكمالا لمميزات مكتبة Interop.SpeechLib.dll , و الموضوع ببساطه عباره عن مفكرة بسيطة لها القدرة علي قرائة المحتوي النصي لها صوتيا ..مثل خاصيه في ويندوز سفن اسمها windows narrator :وهي تتمثل في قدرة الويندوز علي قرائة كافة المحتويات النصية داخله بالاعتماد علي مثل هذه المكتبات ..

ندخل في الموضوع :
اولا في قسم التعاريف نعرف المكتبات التاليه ...

رمز برمجي:
Imports System.Drawing.Drawing2D
Imports System.Collections
Imports System.ComponentModel
Imports System.IO
Imports System.Drawing.Imaging
Imports SpeechLib
نقوم بتعريف المتغيرات التاليه :

رمز برمجي:
Private voice As String = "name=Microsoft Sam"
Private volume As Integer = 50
Dim ta As Form2
Private rate As Integer = 3
نضع 2 فورم الاولي ام للثانيه (MdiContainer)

نعرف اهم دالة بالمشروع وهي : Speechsdk ..

رمز برمجي:
Sub speechsdk()
Dim ta As Form2
ta = CType(Me.ActiveMdiChild, Form2)
Dim SpFlags As SpeechVoiceSpeakFlags = SpeechVoiceSpeakFlags.SVSFlagsAsync
Dim Vr As New SpVoice()
Vr.Rate = rate
Vr.Volume = volume
Dim tok As SpeechLib.SpObjectToken
tok = Vr.Voice
Try
Vr.Voice = Vr.GetVoices(voice, "").Item(0)
Catch
End Try
Try
Vr.Speak(ta.RichTextBox1.SelectedText, SpFlags)
Catch
MessageBox.Show("Nothing To Read" & vbLf & "Please Open A Document And Write Some Text First", "Error")
End Try
End Sub
يتم في هذه الداله العمليات التاليه :
1- SpeechVoiceSpeakFlags.SVSFlagsAsync : يتم من خلالها عملية تزامن مع الخطاب الموجه الي المعالج من خلال الميك .



2-SpVoice : المتغير الضوتي (الصوت).
3-Vr.Volume = volume : التعديل علي درجة السماع.
4- Dim tok As SpeechLib.SpObjectToken
tok = Vr.Voice : تتم من خلالها عمليه اختطاف الصوت و مقارنتة بالمكتبه الصوتيه في ذاكرة البرنامج .
5-Vr.Voice = Vr.GetVoices(voice, "") : بعد انتهاء عملية المقارنة يتم توجيه امر getvoice اي احصل علي الصوت .
6-Vr.Speak(ta.RichTextBox1.SelectedText, SpFlags) : بعد ان يحصل المعالج علي الصوت من زاكرة المكتبة تتبدا عملية السرد مباشرتا .. ويكون ذالك في اقل من الثانيه ...

البرنامج فيه القدره علي التحكم في درجة السماع من خلال : volume = 100 -> اعلي صوت
البرنامج فيه القدره علي التحكم في سرعة النطق من خلال : rate = 0 -> ابطئ سرعه

ومجموعة اخري باكواد ال notepad المعروفه لدي الكثيرين مثل : cut ,copy , past , selectall , print , open , new , save ,......وغيرهم ..

المشروع يحتاج الي : SpeechSDK 5.1 ..
رابط speech sdk :
http://www.microsoft.com/download/en....aspx?id=10121

واخيرا رابط المشروع :
http://download1135.mediafire.com/4a...ce+Notepad.zip

ظلل النص الي انت عاوزه .. و اضغط علي Read Selected ....

ولا تنسونا بالتقيم او الدعاء ..