HOW 2 LEARN ASP.NET
نویسنده : delshad
تاریخ  : ۱۳۸۸/۸/۱۵
امتیاز :
بازدید : 2011
موضوع : تلفظ نوشته های تصاویر امنیتی (Speech captcha)
توضیحات : در این مقاله نحوه تبدیل نوشتار به صوت توسط Asp.nET آموزش داده خواهد شد (Text To Speech)
     

تلفظ نوشته های تصاویر امنیتی (Speech captcha)

در مقاله "ساخت تصاویر امنیتی" با نحوه ایجاد تصاویر امنیتی آشنا شدیم ، در این مقاله قصد دارم به نحوه خواندن این تصاویر بپردازیم .

قبل از هر چیز می بایست کتابخانه Microsoft Speech را اضافه نمایید ، برای اینکار وارد منوی WebSite شده و گزینه Add Refrence را انتخاب کنید ، سپس از تب COM گزینه Microsoft Speech Object Library را برگزیده تا این کتابخانه به شاخه Bin شما اضافه شود .

اکنون فضا نام مربوط به این کتابخانه را به صفحه مورد نظر اضافه کنید :

Imports SpeechLib

برای تلفظ یک متن از کلاس SpVoice استفاده می کنیم ، بنابراین یک وحله جدید از این کلاس ایجاد کرده :

Dim voice As New SpVoice()

و برای خواندن متن مورد نظر از تابع Speak استفاده می نماییم :

voice.Speak("Hello Ali")

البته لازم به ذکر است که شما نمیتوانید در Asp.NET به همین سادگی صدا را پخش کنید  ، راه حل این کار این است که ابتدا صدای تولید شده را در یک فایل wav ذخیره کرده و سپس توسط media Player که به صورت embed به صفحه اضافه می شود آن را پخش نماییم .

خاصیت voice.AudioOutputStream صدای تولید شده را به صورتی Stream در اختیار ما میگذارد ، ما این Stream را توسط کلاس SpFileStream خوانده و ذخیره می کنیم :

 Dim SpFileMode As SpeechStreamFileMode = SpeechStreamFileMode.SSFMCreateForWrite
        Dim SpFileStream As New SpFileStream
        SpFileStream.Open(Server.MapPath("~\Temp\1.wav"), SpFileMode, False)
        voice.AudioOutputStream = SpFileStream

        voice.Speak("Hello Ali", SpeechVoiceSpeakFlags.SVSFlagsAsync)
        voice.WaitUntilDone(Timeout.Infinite)
        SpFileStream.Close()

همانطور که ملاحظه می کنید این فایل در پوشه Temp ذخیره می شود .

اکنون کافیست فایل تولید شده را به صورت Embed به صفحه اضافه کنیم ، برای اینکار یک Literal کنترل در صفحه قرار داده و پس از اعمال فوق تگ embed را ساخته و به آن اضافه می کنیم :

  Literal1.Text = "<object type='audio/x-wav' height='0px' width='0px'><param name='src' value='Temp/1.wav'></object>"

کار تمام است .

اکنون شما خیلی ساده می توانید از از این روش برای پخش تلفظ متن تصاویر امنیتی استفاده کنید ؛ کافیست به جای متن Hello Ali متن ایجاد شده توسط تصویر امنیتی را قرار دهید .

فایل ضمیمه حاوی پروژه تصاویر امنیتی به همراه امکان تلفظ آن می باشد


 

 

 
امتیاز بدهید :

هیچ نظری داده نشده است

 
نظر بدهید :
لطفا سوالات فنی خود را در تالار گفتگو www.forum.how2learnasp.net مطرح نمایید
نام :  
ایمیل :    
نظرات :
 
Xml rss feed

 

Valid CSS! Atom rss feed
Ali Delshad Official Site