• 语音验证码


    最近工作没那么忙,趁着有点时间就写了个像微软和新浪注册时用的语音验证码。
    主要是用微软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
  • 相关阅读:
    Java的多线程机制系列:(二)缓存一致性和CAS
    Java的多线程机制系列:(一)总述及基础概念
    pydev常用快捷键
    利用python的pyinotify模块监控文件夹和文件的变动
    Linux 下文件名乱码(无效的编码)的解决办法
    ubuntu 中文界面下中文文件夹改英文
    SystemParametersInfo
    jsp:forward与缓冲区
    kafka:(9) 流式处理
    kafka:(8) 事务、幂等
  • 原文地址:https://www.cnblogs.com/cztom/p/780635.html
Copyright © 2020-2023  润新知