zoukankan      html  css  js  c++  java
  • 语音验证码

    最近工作没那么忙,趁着有点时间就写了个像微软和新浪注册时用的语音验证码。
    主要是用微软TTS控件来生成声音的,不过声音不是很好听,至于生成的那些过时.wav文件我没做过多的处理。
    有一种办法是:你可以把26个字母的语音给录下来并保存为相应的文件名(找个女生来录比较好听,不然对不起观众了,呵呵!),通过读取cookie把语音文件组成起来一并读出来,这样就不会产生过时的.wav文件。如果谁有更好的办法,欢迎大家拍砖。
    生成声音的主要代码:
             using System.IO;
             using SpeechLib;
             using System.Drawing;
             using System.Threading;

             // 生成音频文件
            SpVoice voice = new SpVoice();
            string voiceStr = "";
            for (int i = 0; i < code.Length; i++)
            {
                voiceStr += code[i] + " ";
            }
            voice.Rate = 1;
            //voice.Speak(voiceStr, SpeechVoiceSpeakFlags.SVSFlagsAsync); //播放音频文件
            //voice.Speak(voiceStr, SpeechVoiceSpeakFlags.SVSFPurgeBeforeSpeak);
            SpeechStreamFileMode SpFileMode = SpeechStreamFileMode.SSFMCreateForWrite;
            SpFileStream SpFileStream = new SpFileStream();
            string savePath = Server.MapPath(".") +
    "\\wav\\" + code + ".wav";
            SpFileStream.Open(savePath, SpFileMode, false);
            voice.AudioOutputStream = SpFileStream;
            voice.Speak(voiceStr, SpeechVoiceSpeakFlags.SVSFlagsAsync);
            voice.WaitUntilDone(Timeout.Infinite);
            SpFileStream.Close();

    生成验证码的程序是用51aspx.com的
    无刷新仿google波形扭曲彩色Asp.net验证码,个人觉得这个做得很漂亮的 :) 。
    下载源代码
    /Files/xczt/VoiceCode.rar
    无刷新仿google波形扭曲彩色Asp.net验证码 是用asp.net 2.0开发的,我把它改成了1.1版本的,如果有需要的话也一并下载吧。呵呵!/Files/xczt/GoogleVerifyCode.rar
  • 相关阅读:
    对眼睛有利的屏幕颜色
    C++的动态联编与静态联编【转载】
    关于虚析构函数
    虚析构函数的使用(转载!)
    c/c++内存机制(转)
    delete this
    PhpStorm环境配置
    flutter之路由与导航
    flutter之Widget
    Flutter项目初步认识
  • 原文地址:https://www.cnblogs.com/cztom/p/780635.html
Copyright © 2011-2022 走看看