منتدى فيجوال بيسك لكل العرب | منتدى المبرمجين العرب

نسخة كاملة : التعرف على الصوت باستخدام vb2010
أنت حالياً تتصفح نسخة خفيفة من المنتدى . مشاهدة نسخة كاملة مع جميع الأشكال الجمالية .
الصفحات : 1 2
السلام عليكم
اتمنى ان تكونوا بااحسن حال
وكل عام وانتم بخير

انا اشتغل حاليا على مشروع بسيط واجهاته مصممه ببرنامج الفيجوال بيسك مرتبط ببرنامج الفلاش بحيث انه عند النقر على ازارير معينه تفتح لعبة فلاشيه تستقبل صوت المستخدم ويتم التعرف على الصوت للانتقال الى فلاش اخر عن طريق الفيجوال بيسك

فااحتاج واتمنى المساعده الضروريه في طريقة التعرف على الصوت الخارجي من خلال الفيجوال بيسك
و جزاكم الله خيرا
الله يسسعدكم ضروري محتاجه Sad
فقط اريد كود فتح المايك لااستقبال الصوت من المستخدم عند الضغط على زر معين
بحيث انه اذا كان الصوت اقل من قيمة معينه تظهر فلاشه معينه و اذا كان اكبر من هذه القيمة تظهر فلاشة اخرى

اريد كود لهذا الغرض والله يعطيكم العافيه
اختي نور ..

هل قصدك ان البرنامج يتعرف على صوتك وينفذ الاوامر ؟

مثلا لو قلتين بالمايك shutdown computer ، يقوم البرنامج بإطفاء الكمبيوتر ؟

اذا كان كذلك . فببساطة يمكنك استخدام محرك كشف الاصوات بسهولة

-

كتبت مقالة حول ذلك في المنتدى القديم ولكن للأسف رحل المنتدى Sad

ولم يتبقى سوا المثال الذي قمت بعمله حينها

والمثال مكتوب بالسي شارب

انا اقتبست الاكواد المطلوبة وقمت بتحويلها للفيجوال بيسك :

PHP كود :
Private _Recognizer As New SpeechRecognitionEngine()

Private 
Sub StartButton_Click(sender As ObjectAs EventArgsHandles StartButton.Click
    _Recognizer
.LoadGrammar(New Grammar(New GrammarBuilder("shutdown computer")))
    
'اضافة كلمة'

    
_Recognizer.RequestRecognizerUpdate()
    
'كود مهم لتحديث الفئة بعد كل اضافة لكلمة'

    
_Recognizer.SetInputToDefaultAudioDevice()
    
'تحديد مصدر الصوت'

    
AddHandler _Recognizer.SpeechRecognized AddressOf _Recognizer_SpeechRecognized
    
'اضافة اجراء يتم استدعائه عندما يتم اطلاق الحدث

    _Recognizer.RecognizeAsync(RecognizeMode.Multiple)
    '
تشغيل قانص الاصوات في مسار اخر لايؤثر على البرنامج
End Sub




'سيتم الدخول للإجراء ادناه لو انك قلتي في المايك'
'shutdown computer'
Private Sub _Recognizer_SpeechRecognized(sender As ObjectAs SpeechRecognizedEventArgs)
    
Select Case e.Result.Text
        
Case "shutdown computer"
        'اكتبي هنا الكود الذي سيقوم بإطفاء الكومبيوتر'
    
End Select
End Sub 


في المرفقات ستجدين مثال يقوم ب (تشغيل الحاسبة من خلال امر صوتي)

والامر هو ان تقولي (open calculator) وسيقوم البرنامج بفتحها

تحياتي
الف شكر اخي الشاكي لله

لكن الكود المكتوب بعد وضعة في مثال vb.net 2008
ظهرت بعض الاخطاء في السطر

Private _Recognizer As New SpeechRecognitionEngine()


Private Sub _Recognizer_SpeechRecognized(ByVal sender As Object, ByVal e As SpeechRecognizedEventArgs)


_Recognizer.LoadGrammar(New Grammar(New Grammar Builder("shutdown computer")))


_Recognizer.RecognizeAsync(RecognizeMode.Multiple)

ارجوا التوضيح

هذا مثال للكود الذي وضعته

ممكن تعدل عليه
(12-10-13, 09:48 PM)aftfm كتب : [ -> ]الف شكر اخي الشاكي لله

لكن الكود المكتوب بعد وضعة في مثال vb.net 2008
ظهرت بعض الاخطاء في السطر

Private _Recognizer As New SpeechRecognitionEngine()


Private Sub _Recognizer_SpeechRecognized(ByVal sender As Object, ByVal e As SpeechRecognizedEventArgs)


_Recognizer.LoadGrammar(New Grammar(New Grammar Builder("shutdown computer")))


_Recognizer.RecognizeAsync(RecognizeMode.Multiple)

ارجوا التوضيح

هذا مثال للكود الذي وضعته

ممكن تعدل عليه

اه

نسيت اقول عليك بإضافة مكتبة System.speech الى References من خلال
Project > Add References

ثم اضافة مجال الاسماء :

PHP كود :
Imports System.Speech.Recognition 
جزاك الله الف خير

بعد اضافة المكتبة واضافة مجال الاسماء

وبعد التشغيل والضغط على ازرار StartButton
ظهرت رسالة في كود اضافة كلمة
_Recognizer.LoadGrammar(New Grammar(New GrammarBuilder("shutdown computer")))
الرسالة
No recognizer is installed.

ما معنى هذه الرسالة
(12-10-13, 10:28 PM)aftfm كتب : [ -> ]جزاك الله الف خير

بعد اضافة المكتبة واضافة مجال الاسماء

وبعد التشغيل والضغط على ازرار StartButton
ظهرت رسالة في كود اضافة كلمة
_Recognizer.LoadGrammar(New Grammar(New GrammarBuilder("shutdown computer")))
الرسالة
No recognizer is installed.

ما معنى هذه الرسالة

هل المثال الذي ارفقته يعمل معك ؟

بحثت عن المشكلة

يقولون ان بعض نسخ الوندوز لايتوفر معها كاشف الاصوات

المفروض ان وندوز فيستا وما فوقه يكون مدمج معاه كاشف الاصوات (هم سووه عشان المعاقين)

بس اذا كان غير مرفق اعتقد عليك تنزيل الsdk التال وتقوم بتنصيبه

التحميل هنا
جزاك الله خير اخي وكثر من امثالك

نعم اريد ان يتعرف الكمبيوتر على الصوت بااستخدام الفيجوال بيسك ولكن
اولا :
اريد ان يتخذ البرنامج اجراء معين اثناء دخول الصوت في نفس البرنامج مثل اظهار لعبة فلاشيه مرتبطه بالبرنامج وليس خارجه مثل اطفاء الجهاز
ثانيا :
برنامجي ليس تعرف على كلمات مثل ان يتعرف على جملة shutdown computer وحينها يقوم بالاطفاء ولكن عباره عن ادخال صوت عادي ليرى مستوى الصوت بحيث انه اذا كان اقل من قيمة معينه تظهر لعبة فلاشية معينه و اذا كان اكبر من هذه القيمة تظهر فلاشة اخرى

هكذا
عند الضغط على زر ابدأ يدخل المستخدم صوته
اذا كان مستوى الصوت اقل مثلا من 1000 تبقى هذه الفلاشة التي تتحرك فيها سياره واحدة

[img]http://im40.gulfup.com/cbj0P.jpg"> [/img]

واذا كان اكبر من 1000 تظهر فلاشة اخرى تتحرك فيها سيارتان تتسابقان



وجزاكم الله خير اخواني
بكل بساطة:
PHP كود :
Private Sub StartButton_Click(ByVal sender As System.ObjectByVal e As System.EventArgsHandles StartButton.Click
        recognizer 
= New SpeechRecognitionEngine
        recognizer
.LoadGrammar(New Grammar(New GrammarBuilder("just nothing")))

        
AddHandler recognizer.AudioLevelUpdatedAddressOf recognizer_AudioLevelUpdated

        recognizer
.SetInputToDefaultAudioDevice()
        
recognizer.RecognizeAsync(RecognizeMode.Multiple)
    
End Sub
    
Private Sub recognizer_AudioLevelUpdated(ByVal sender As ObjectByVal e As AudioLevelUpdatedEventArgs)
        If 
e.AudioLevel 50 Then
            MessageBox
.Show("درجة الصوت اعلى من 50")
        
End If
    
End Sub 
الصفحات : 1 2