Insertar sonidos en tu web

Como algunos sabéis, en Chevismo es posible insertar una serie de sonidos. Que aparecen como pequeños botones. Ejemplo: ​

Estos pequeños botones son cortesía de la web Instants Fun, y pueden insertarse de manera muy simple, utilizando este codigo:

<object id="ply" width="25" height="25" classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0">
<param name="src" value="http://instantsfun.es/media/flash/chan.swf" />
<embed id="ply" width="25" height="25" type="application/x-shockwave-flash" src="http://instantsfun.es/media/flash/chan.swf" />
</object>

En el codigo del ejemplo se inserta el sonido “chan”. A continuacion ofrezco una lista de sonidos que ofrecen (Aunque actualmente tienen algunos mas)

'badumtss', 'ballsofsteel', 'barrelroll', 'bazinga', 'bennyhill', 'birdtheword', 'boomheadshot', 'burned', 'chan', 'chanchan', 'combobreaker', 'correct', 'crickets', 'csi', 'cuek', 'doh', 'drama', 'dramatic', 'drumroll', 'emergencyodel', 'epic','evillaugh', 'excellent', 'falconpunch', 'fatality', 'finishhim', 'fuckoff', 'gong', 'haha', 'hallelujahlong', 'hallelujahshort', 'incorrect', 'inetporn', 'itsatrap', 'kamehameha', 'keyboardcat', 'khaaan', 'lalalalala', 'lazor', 'legendary', 'leroy', 'mario', 'metagearsolid', 'mlb', 'muppets', 'murloc', 'nooo', 'ommmm', 'omnom', 'over9000', 'penny', 'r2d2', 'sadtrombone', 'sadtuba', 'shhahh', 'swanee', 'tada', 'thisissparta', 'trollolol', 'tumbleweed', 'victoryff', 'wakawaka', 'wilhelm', 'wololo', 'wrong', 'youarepirate', 'zas', 'zasca', 'zeldaitem', 'zeldasecret'

Los he puesto de esta manera para que se pueda crear un array con ellos fácilmente.

Si queremos insertarlos de manera simple en la web, tal y como ocurre aqui en Chevismo, donde únicamente hace falta poner en el chat para que aparezca el sonido chan, necesitamos parsear el texto con una expresión regular por ejemplo, y ejecutar una función que sustituya por el código apropiado.

A continuación pongo el código necesario en PHP:

<?php 
function parse($text){
		return preg_replace_callback('@:([a-zA-Z0-9]+):@', 'sound', $text);
	}
function sound($link){
		$sounds= array('badumtss','ballsofsteel','barrelroll','bazinga','bennyhill','birdtheword','boomheadshot','burned','chan','chanchan','combobreaker','correct','crickets','csi','cuek','doh','drama','dramatic','drumroll','emergencyodel','epic','evillaugh','excellent','falconpunch','fatality','finishhim','fuckoff','gong','haha','hallelujahlong','hallelujahshort','incorrect','inetporn','itsatrap','kamehameha','keyboardcat','khaaan','lalalalala','lazor','legendary','leroy','mario','metagearsolid','mlb','muppets','murloc','nooo','ommmm','omnom','over9000','penny','r2d2','sadtrombone','sadtuba','shhahh','swanee','tada','thisissparta','trollolol','tumbleweed','victoryff','wakawaka','wilhelm','wololo','wrong','youarepirate','zas','zasca','zeldaitem','zeldasecret');
		$sound = strtolower($link[1]);
		if(in_array($sound,$sounds)){
			return '<object type="application/x-shockwave-flash" data="http://instantsfun.es/media/flash/'.$sound.'.swf"  width="40" height="40" id="ply" name="ply"---->';
		}
	}
?>

Para ejecutarlo únicamente es necesario llamar a parse(‘El texto que queramos, con sonidos dentro ’);

Espero que haya servido de ayuda,
Un saludo

Acerca de Chevi

Programador de Chevismo
This entry was posted in Programación and tagged , , , . Bookmark the permalink.