PDA

View Full Version : استفاده ار اعتبار سنجی صوتی برای ورود به برنامه



hamed_9192
سه شنبه 08 شهریور 1390, 16:25 عصر
با سلام

دوستان من می خوام برای ورود به برنامه (همون صفحه لاگین) از اعتبار سنجی صوتی استفاده کنم
مثلا توی پایگاه داده صدای کاربر رو ذخیره کرد، و برای ورود کاربر با استفاده از میکروفون رمز رو بگه(همون صوت ذخیره شده رو) بعد در صورت مطابقت داشتن با اون صوت ذخیره شده وارد برنامه بشه.
یکی از دوستان گفتن قبلا یه کامپوننت و کلاس واسه این کار دیدن ، ولی من هرچی گشتم توی نت ، چیزی پیدا نکردم.چنین چیزی هست؟
لطفا راهنمایی کنید
با تشکر

golkhani
چهارشنبه 09 شهریور 1390, 16:35 عصر
سلام دوست عزیز.
اگه وقتشو داری و میخوای خودت کدش رو بنویسی میتونی از بسته ی اختصاصی مایکروسافت برای تشخیص گفتار استفاده کنی(SAPI). دانلود SpeechSDK5.1 (http://www.microsoft.com/download/en/details.aspx?displaylang=en&id=10121)
بعد ازنصب ازطریق Add Reference در تب COM به دنبال Microsoft Speech Object Library بگردید.
حالا میتونی از فانکشن ها، کلاسها،سابروتین ها و متغیرهای کتابخانه ی قدرتمند SAPI استفاده کنی.
اگرسوالی بود در خدمتیم.

hamed_9192
چهارشنبه 09 شهریور 1390, 17:53 عصر
با سلام

متشکر از راهنمایی تون
اما تو سایت که نوشته این مال VB هستش،درسته؟؟

golkhani
چهارشنبه 09 شهریور 1390, 18:51 عصر
مجدداً سلام دوست عزیز. #C رو هم پشتیبانی میکنه. کد تشخیص گفتار رو براتون قرار میدم.

private SpeechLib.SpSharedRecoContext objRecoContext;
private SpeechLib.ISpeechRecoGrammar grammar;
public SRForm()
{
InitializeComponent();
initSAPI();
}

private void initSAPI()
{
try
{
//Create Instance The Main Object (SpSharedRecoContext)And Activating The Recognition Event
objRecoContext = new SpeechLib.SpSharedRecoContext();
objRecoContext.Recognition += new _ISpeechRecoContextEvents_RecognitionEventHandler( RecoContext_Recognition);
objRecoContext.EventInterests = SpeechLib.SpeechRecoEvents.SRERecognition | SpeechLib.SpeechRecoEvents.SREAudioLevel;
//Grammar Creation with Default Value 'ID = 0' And Grammar Activation
grammar = objRecoContext.CreateGrammar(0);
grammar.DictationSetState(SpeechRuleState.SGDSActi ve);
}
catch (Exception ex)
{
MessageBox.Show("Exception \n" + ex.ToString(), "Error - initSAPI");
}
}
//---------------------------------------------------------------------------------------------------------

//Main ObjRecoContext Event And launched when engine recognized a phrase
public void RecoContext_Recognition(int StreamNumber, object StreamPosition, SpeechRecognitionType RecognitionType, ISpeechRecoResult e)
{
//Get And Display Phrase
string phrase = e.PhraseInfo.GetText(0, -1, true);
}
اگه باز هم سوالی داشتید درخدمتم.