Pubblicato il 21/10/15e aggiornato il

Come riprodurre suoni paurosi nel blog per Halloween.

Come inserire dei suoni paurosi di sottofondo casuali di pochi secondi che si riproducano automaticamente all'apertura del blog in occasione di Halloween. È stato usato javascript e 21 suoni casuali con player HTML5.
Tra una decina di giorni sarà il giorno di Halloween, festività pre-cristiana di origine britannica esportata negli USA e in Canada, che però viene ormai ricordata in gran parte del mondo. Anche in Italia vengono organizzate feste a tema in occasione di questa ricorrenza.

La parola Halloween corrisponde al nostro Ognissanti ed è entrata a far parte del lessico corrente l'espressione "dolcetto o scherzetto" che è la traduzione italiana dell'inglese "trick or treat" con cui i ragazzi minacciano di scherzi chi non li omaggerà di dolci leccornie.

Halloween viene festeggiato anche nel mondo del web e non solo da parte dei siti che trattano argomenti affini. È abitudine di molti webmaster abbellire il blog con immagini, video e effetti speciali. Quattro anni fa in occasione di questa festività presentai un effetto molto divertente e poco invasivo. Tutti coloro che avessero aperto una pagina del sito avrebbero ascoltato un suono pauroso casuale della durata di pochi secondi.  Tale effetto purtroppo non funziona più perché il player di riproduzione audio era stato creato da uno sviluppatore francese che si era appoggiato a Google Code, tra l'altro prossimo al ritiro, e che ora non è più disponibile. Però sono riuscito comunque a risolvere tramite l'HTML5

Con la tecnologia HTML5 infatti non è più necessario utilizzare un player audio ma bastano i tag <audio> e </audio>. Ho quindi adattato il javascript a questo player nativo che è supportato da tutti i più importanti browser. Per evitare che il player si visualizzasse nella pagina ho introdotto anche un foglio di stile con width e height uguali a zero. Gli effetti possono essere inseriti in una sola pagina o post del nostro sito oppure in tutte le pagine incollandolo nel template. Il codice è il seguente

<style>
audio{ width: 0px; height: 0px; }
</style>
<script type='text/javascript'>
//<![CDATA[
// Suoni di Halloween
var halloween = [
"https://sites.google.com/site/musicafilemp3/halloween/bach1.mp3",
"https://sites.google.com/site/musicafilemp3/halloween/bambina1.mp3",
"https://sites.google.com/site/musicafilemp3/halloween/campane1.mp3",
"https://sites.google.com/site/musicafilemp3/halloween/fantasma1.mp3",
"https://sites.google.com/site/musicafilemp3/halloween/fantasma2.mp3",
"https://sites.google.com/site/musicafilemp3/halloween/grido1.mp3",
"https://sites.google.com/site/musicafilemp3/halloween/grido2.mp3",
"https://sites.google.com/site/musicafilemp3/halloween/mostro.mp3",
"https://sites.google.com/site/musicafilemp3/halloween/risate1.mp3",
"https://sites.google.com/site/musicafilemp3/halloween/risate2.mp3",
"https://sites.google.com/site/musicafilemp3/halloween/risa-ululato.mp3",
"https://sites.google.com/site/musicafilemp3/halloween/ululato1.mp3",
"https://sites.google.com/site/musicafilemp3/halloween/ululato2.mp3",
"https://sites.google.com/site/musicafilemp3/halloween/battitocuore.mp3",
"https://sites.google.com/site/musicafilemp3/halloween/bestia.mp3",
"https://sites.google.com/site/musicafilemp3/halloween/cobra.mp3",
"https://sites.google.com/site/musicafilemp3/halloween/dolore.mp3",
"https://sites.google.com/site/musicafilemp3/halloween/risatasatanica1.mp3",
"https://sites.google.com/site/musicafilemp3/halloween/risatasatanica2.mp3",
"https://sites.google.com/site/musicafilemp3/halloween/spari.mp3",
"https://sites.google.com/site/musicafilemp3/halloween/tuono.mp3
",];
var rotazione = Math.random()*halloween.length;
var numero = Math.floor(rotazione);
document.write('<audio controls="true" autoplay="autoplay">');
document.write('<source src='+halloween[numero]+' type="audio/mpeg">');
document.write('</audio>');
//]]>
</script>

Tale codice può essere incollato in un post o in una pagina statica in Modalità HTML. In questo caso bisogna pubblicare senza tornare su Scrivi in modo che il codice incollato sia l'ultima modifica che si fa al post perché Blogger potrebbe modificare il codice automaticamente. I suoni riprodotti casualmente sono in numero di 21 e possono essere scaricati incollando i rispettivi URL nella barra degli indirizzi. Tali suoni sono stati caricati su Google Sites e quindi l'effetto funzionerà solo per i blog gratuiti del tipo nome.blogspot.com. Se si possiede un blog con dominio personalizzato si dovranno caricare i file audio su Google Drive, che ricordo funzionerà come hosting solo fino al 31 Agosto 2016, oppure nella cartella Public di Dropbox. Se volete che questi suoni si ascoltino in tutte le pagine dovrete andare su Modello > Modifica HTML e incollare il codice precedente subito sopra alla riga </body>.

codice-halloween

Per testare il funzionamento della personalizzazione dopo aver aperto la pagina della Demo
rinfrescatela pigiando su F5 o cliccando sulla apposita icona del browser per ascoltare gli altri effetti. Questo hack non ha dei tag specifici di Blogger quindi può essere utilizzato anche in tutte le piattaforme di blogging che permettono l'inserimento di javascript come Wordpress, Tumblr, ecc.

Aggiornamento: Visto che il codice iniziale evidenziato di giallo se inserito nel modello nasconde tutti i player <audio> HTML5 è meglio sostituirlo con un altro javascript che nasconderà ugualmente il riproduttore audio HTML5 ma che non avrà influenza negli altri player eventualmente presenti nel sito. Il codice da sostituire a quello evidenziato di giallo è il seguente:

<script type="text/javascript">
//<![CDATA[
   var styleNode = document.createElement('style');
   styleNode.type = "text/css";
   if(!!(window.attachEvent && !window.opera)) {
     styleNode.styleSheet.cssText = 'audio {width:0px; height:0px;}';
   } else {
     var styleText = document.createTextNode('audio {width:0px; height:0px;}');
     styleNode.appendChild(styleText);
   }
   document.getElementsByTagName('head')[0].appendChild(styleNode);
//]]>
 </script>

dove la parte colorata di rosso rappresenta i CSS per i vari browser. 




Nessun commento :

Posta un commento

Non inserire link cliccabili altrimenti il commento verrà eliminato. Metti la spunta a Inviami notifiche per essere avvertito via email di nuovi commenti. Se ti ho aiutato con il post o con le risposte ai commenti condividi su Facebook o su Twitter. Grazie.