-
В последнее время я обнаружил, что коды голосового подтверждения становятся все более популярными. Например, я видел их в зарегистрированном почтовом ящике Gmail. Коды голосового подтверждения также есть на страницах MSN и некоторых зарубежных сайтах.
Потратив время на исследование, основное различие между кодами голосовой проверки и общими кодами проверки заключается в том, как запустить воспроизведение кода проверки. Принцип кода голосовой проверки в этой статье: генерировать код проверки с сервера,
И сохраните его в файле cookie (getcode.aspx.cs). Когда вы нажмете, чтобы прослушать код подтверждения, вызовите операцию javascirpt (здесь используется jquery), чтобы прочитать код подтверждения из файла cookie.
Затем перенесите код проверки на страницу codevoice.aspx, затем синтезируйте код проверки, чтобы сгенерировать mp3-файл, и, наконец, перенесите этот файл во флэш-память для воспроизведения.
Вы услышите звук: «Текущий код подтверждения — 5678, введите его». Этот принцип аналогичен коду голосовой проверки, используемому большинством веб-сайтов.
Загрузка исходного кода: Загрузите (для открытия используйте VS2008 SP1 или VS2010)
Разместите код страницы изображения кода подтверждения на странице.
просмотреть обычную копию в буфер обмена, распечатать?
<form id="form1" runat="server">
<дел>
<input type="text" name="txtCode" id="txtCode" maxlength="8" />
<img onclick="this.src='getcode.aspx';" src="getcode.aspx" mce_src="getcode.aspx" align="absmiddle" style="курсор: указатель" mce_style="курсор: указатель" alt ="Не вижу ясно, пожалуйста, замените другой" title="Не вижу ясно, пожалуйста, замените другой" />
<img id="imgRead" src="image/maintb.gif" mce_src="image/maintb.gif" align="absmiddle" style="курсор: указатель" mce_style="курсор: указатель" alt="Прослушать проверку code " title="Прослушать код подтверждения" onclick="playvoice('player');" />
<span id="player"></span>
</div>
</форма>
<form id="form1" runat="server">
<дел>
<input type="text" name="txtCode" id="txtCode" maxlength="8" />
<img onclick="this.src='getcode.aspx';" src="getcode.aspx" mce_src="getcode.aspx" align="absmiddle" style="курсор: указатель" mce_style="курсор: указатель" alt ="Не вижу ясно, пожалуйста, замените другой" title="Не вижу ясно, пожалуйста, замените другой" />
<img id="imgRead" src="image/maintb.gif" mce_src="image/maintb.gif" align="absmiddle" style="курсор: указатель" mce_style="курсор: указатель" alt="Прослушать проверку code " title="Прослушать код подтверждения" onclick="playvoice('player');" />
<span id="player"></span>
</div>
</форма>
Функция js, вызываемая при нажатии для прослушивания проверочного кода, выглядит следующим образом:
просмотреть обычную копию в буфер обмена, распечатать?
функция playvoice(id) {
вар voiceid = document.getElementById(id);
вар voicecode = $.cookie('ValidateCode');
voiceid.innerHTML = "<embed id='sound_play' name='sound_play' src="sound_play.swf?" + (new Date().getTime()) + "" mce_src="sound_play.swf?" + (новый Дата().getTime()) + ""
FlashVars='isPlay=1&url=codevoice.aspx&code=" + voicecode + "' width='0' height='0'allowScriptAccess='always'
ype='application/x-shockwave-flash' pluginspage='http://www.macromedia.com/go/getflashplayer' /></embed>";
}
функция playvoice(id) {
вар voiceid = document.getElementById(id);
вар voicecode = $.cookie('ValidateCode');
voiceid.innerHTML = "<embed id='sound_play' name='sound_play' src="sound_play.swf?" + (new Date().getTime()) + "" mce_src="sound_play.swf?" + (новый Дата().getTime()) + ""
FlashVars='isPlay=1&url=codevoice.aspx&code=" + voicecode + "' width='0' height='0'allowScriptAccess='always'
type='application/x-shockwave-flash'pluginspage='http://www.macromedia.com/go/getflashplayer' /></embed>";
}
Среди них $.cookie('ValidateCode') предназначен для чтения кода проверки файлов cookie. Здесь используется плагин jquery cookie.
Код для создания страницы mp3 выглядит следующим образом:
//Читаем проверочный код для создания mp3, включая заголовок Begin.mp3 и Tail End.mp3
просмотреть обычную копию в буфер обмена, распечатать?
Response.ContentType = "аудио/mpeg";
Response.WriteFile("звук/begin.mp3");
string checkCode = HttpContext.Current.Request.QueryString["code"].ToString();// string checkCode = "8888";
если (checkCode.Length > 0)
for (int i = 0; я <checkCode.Length; i++)
{
Response.WriteFile("sound/"+checkCode[i] + ".mp3");
}
Response.WriteFile("звук/конец.mp3");
Response.ContentType = "аудио/mpeg";
Response.WriteFile("звук/begin.mp3");
string checkCode = HttpContext.Current.Request.QueryString["code"].ToString();// string checkCode = "8888";
если (checkCode.Length > 0)
for (int i = 0; я <checkCode.Length; i++)
{
Response.WriteFile("sound/"+checkCode[i] + ".mp3");
}
Response.WriteFile("звук/конец.mp3");
[Автор этой статьи опубликовал ее одновременно на cnblogs, csdn и http://www.ajaxcn.net . Пожалуйста, сохраните это примечание при перепечатке.]
Код флэш-воспроизведения в основном выполняет действие щелчка правой кнопкой мыши по первому ключевому кадру. Вставьте следующий код в соответствии с адресом входящего номера воспроизведения mp3.
просмотреть обычную копию в буфер обмена, распечатать?
вар mysound = новый звук ();
вар mysong = URL;
вар isPlay = 1;
вар intnum:Number = setInterval(playSong, 500);
функция playSong() {
если (isPlay == 1) {
mysound.loadSound(mysong+"?code="+code, true);
мойзвук.старт();
ClearInterval (intnum);
isPlay = 0;
}