-
Recientemente, descubrí que los códigos de verificación de voz se están volviendo cada vez más populares. Por ejemplo, los he visto en el buzón de correo registrado de Gmail. También hay códigos de verificación de voz en páginas de MSN y en algunos sitios web extranjeros.
Después de tomarse el tiempo para investigar, la principal diferencia entre los códigos de verificación por voz y los códigos de verificación generales radica en cómo hacer que se reproduzca el código de verificación. El principio del código de verificación por voz en este artículo: generar código de verificación desde el servidor,
Y guárdelo en la cookie (getcode.aspx.cs). Cuando haga clic para escuchar el código de verificación, llame a la operación javascirpt (aquí se usa jquery) para leer el código de verificación de la cookie.
Luego transfiera el código de verificación a la página codevoice.aspx, luego sintetice el código de verificación para generar un archivo mp3 y finalmente transfiera este archivo a la memoria flash para reproducirlo.
El sonido que escuchará es: "El código de verificación actual es 5678, ingréselo". Este principio es similar al código de verificación por voz utilizado por la mayoría de los sitios web.
Descarga del código fuente: Descargar (use VS2008 SP1 o VS2010 para abrir)
Coloque el código de página de la imagen del código de verificación en la página
¿Ver copia simple en el portapapeles?
<formulario id="form1" runat="servidor">
<div>
<tipo de entrada="texto" nombre="txtCode" id="txtCode" maxlength="8" />
<img onclick="this.src='getcode.aspx';" src="getcode.aspx" mce_src="getcode.aspx" align="absmiddle" style="cursor: puntero" mce_style="cursor: puntero" alt ="No puedo ver con claridad, cambie otro" title="No puedo ver con claridad, cambie otro" />
<img id="imgRead" src="image/maintb.gif" mce_src="image/maintb.gif" align="absmiddle" style="cursor: pointer" mce_style="cursor: pointer" alt="Escuchar verificación code " title="Escucha el código de verificación" onclick="playvoice('player');" />
<span id="jugador"></span>
</div>
</formulario>
<formulario id="form1" runat="servidor">
<div>
<tipo de entrada="texto" nombre="txtCode" id="txtCode" maxlength="8" />
<img onclick="this.src='getcode.aspx';" src="getcode.aspx" mce_src="getcode.aspx" align="absmiddle" style="cursor: puntero" mce_style="cursor: puntero" alt ="No puedo ver con claridad, cambie otro" title="No puedo ver con claridad, cambie otro" />
<img id="imgRead" src="image/maintb.gif" mce_src="image/maintb.gif" align="absmiddle" style="cursor: pointer" mce_style="cursor: pointer" alt="Escuchar verificación code " title="Escucha el código de verificación" onclick="playvoice('player');" />
<span id="jugador"></span>
</div>
</formulario>
La función js llamada al hacer clic para escuchar el código de verificación es la siguiente:
¿Ver copia simple en el portapapeles?
función reproducir voz (id) {
var voiceid = document.getElementById(id);
var código de voz = $.cookie('ValidateCode');
voiceid.innerHTML = "<embed id='sound_play' name='sound_play' src="sound_play.swf?" + (nueva Fecha().getTime()) + "" mce_src="sound_play.swf?" + (nueva Fecha().getTime()) + ""
FlashVars='isPlay=1&url=codevoice.aspx&code=" + código de voz + "' ancho='0' alto='0' enableScriptAccess='always'
ype='application/x-shockwave-flash' pluginspage='http://www.macromedia.com/go/getflashplayer' /></embed>";
}
función reproducir voz (id) {
var voiceid = document.getElementById(id);
var código de voz = $.cookie('ValidateCode');
voiceid.innerHTML = "<embed id='sound_play' name='sound_play' src="sound_play.swf?" + (nueva Fecha().getTime()) + "" mce_src="sound_play.swf?" + (nueva Fecha().getTime()) + ""
FlashVars='isPlay=1&url=codevoice.aspx&code=" + código de voz + "' ancho='0' alto='0' enableScriptAccess='always'
type='application/x-shockwave-flash' pluginspage='http://www.macromedia.com/go/getflashplayer' /></embed>";
}
Entre ellos, $.cookie('ValidateCode') es para leer el código de verificación de cookies. Aquí se utiliza un complemento de cookies jquery.
El código para generar la página mp3 es el siguiente:
// Lea el código de verificación para generar mp3, incluido el encabezado begin.mp3 y tail end.mp3
¿Ver copia simple en el portapapeles?
Respuesta.ContentType = "audio/mpeg";
Response.WriteFile("sonido/begin.mp3");
cadena checkCode = HttpContext.Current.Request.QueryString["code"].ToString();// cadena checkCode = "8888";
si (comprobarCódigo.Longitud > 0)
para (int i = 0; i < checkCode.Length; i++)
{
Response.WriteFile("sonido/"+checkCode[i] + ".mp3");
}
Response.WriteFile("sonido/end.mp3");
Respuesta.ContentType = "audio/mpeg";
Response.WriteFile("sonido/begin.mp3");
cadena checkCode = HttpContext.Current.Request.QueryString["code"].ToString();// cadena checkCode = "8888";
si (comprobarCódigo.Longitud > 0)
para (int i = 0; i < checkCode.Length; i++)
{
Response.WriteFile("sonido/"+checkCode[i] + ".mp3");
}
Response.WriteFile("sonido/end.mp3");
[El autor de este artículo lo publicó simultáneamente en cnblogs, csdn y http://www.ajaxcn.net . Tenga en cuenta esta nota al reimprimir].
El código de reproducción flash realiza principalmente la acción de hacer clic derecho en el primer fotograma clave. Inserte el siguiente código de acuerdo con la dirección mp3 del número de reproducción entrante.
¿Ver copia simple en el portapapeles?
var mi sonido = nuevo sonido();
var mi canción = url;
var isPlay = 1;
var intnum:Número = setInterval(reproducir canción, 500);
función reproducir canción() {
si (isPlay == 1) {
mysound.loadSound(mysong+"?code="+código, verdadero);
misonido.start();
clearInterval(intnum);
esJuego = 0;
}