begin process at 2012 05 30 03:54:29
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Archive Javascript

 > 

Archives

 > 

AU SECOURS !!!

 > 

Un script avec du son


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

Un script avec du son

mardi 15 novembre 2005 à 14:45:15 | Un script avec du son

pledoux

Bonjour à tous.

Je commence par vous faire une présentation de ce que j'ai fait.

J'ai un fichier texte dans lequel je mets des nouvelles.
Le contenu de ce fichier, je veux l'afficher lettre par lettre avec le son de la frappe d'une machine à écrire à chaque affichage d'une lettre. Il me faut bien sûr une pause entre l'affichage de chaque lettre.

J'ai terminé les parties :
- lecture du fichier (en PHP),
- affichage des lettres une par une avec la tempo (JavaScript).

Pour le son, j'ai mis en HTML avec <EMBED> la lecture en boucle de ma frappe au clavier (frappe.wav). Le problème est que le son continue après la fin du chargement de la page. Si je mets la lecture du son dans ma boucle de lecture du fichiers texte, le son arrive avant l'affichage.

Vous pouvez visualiser la page à l'adresse :
[ Lien ]

et pour finir voici mon script. Il y 230 ligne mais si vous retirez le switch sur toutes les lettres de l'alphabet cela le réduit considérablement.

Merci pour votre aide.


<html>
<head>
<!-- Type MIME et table ASCII à utiliser (impératif) -->
<meta http-equiv=Content-Type content="text/html; charset=iso-8859-1">

<!-- Titre de la page -->
<title>Golden Pédale (épreuve de VTT)</title>

<script language="JavaScript">
nb_car=0;
// Fonction d'affichage des lettres
function affiche_lettre()
{
    ltxt=txt.length;
    if(ltxt>=1)
    {
        carac_image='';
        switch (txt.substr(0, 1))
        {
            case "A":
            case "B":
            case "C":
            case "D":
            case "E":
            case "F":
            case "G":
            case "H":
            case "I":
            case "J":
            case "K":
            case "L":
            case "M":
            case "N":
            case "O":
            case "P":
            case "Q":
            case "R":
            case "S":
            case "T":
            case "U":
            case "V":
            case "W":
            case "X":
            case "Y":
            case "Z":
                // Répertoire des majuscules
                repertoire='maj/';
                // carac_impage = la premiere lettre de la chaine
                carac_image=txt.substr(0, 1);
                break;
            case "a":
            case "b":
            case "c":
            case "d":
            case "e":
            case "f":
            case "g":
            case "h":
            case "i":
            case "j":
            case "k":
            case "l":
            case "m":
            case "n":
            case "o":
            case "p":
            case "q":
            case "r":
            case "s":
            case "t":
            case "u":
            case "v":
            case "w":
            case "x":
            case "y":
            case "z":
                // Répertoire des minuscules
                repertoire='min/';
                // carac_impage = la premiere lettre de la chaine
                carac_image=txt.substr(0, 1);
                break;
            case "0":
            case "1":
            case "2":
            case "3":
            case "4":
            case "5":
            case "6":
            case "7":
            case "8":
            case "9":
                // Répertoire des autres caractères
                repertoire='autre/';
                // carac_impage = la premiere lettre de la chaine
                carac_image=txt.substr(0, 1);
                break;
            // Répertoire des autres caractères
            // carac_image vaut un chaine (le nom de l'image est incompatible
            case " ":
                repertoire='autre/';
                carac_image='espace';
                break;
            case "à":
                repertoire='autre/';
                carac_image='agrave';
                break;
            case "ç":
                repertoire='autre/';
                carac_image='cced';
                break;
            case "é":
                repertoire='autre/';
                carac_image='eaigu';
                break;
            case "%":
                repertoire='autre/';
                carac_image='pourcent';
                break;
            case "&":
                repertoire='autre/';
                carac_image='etcommer';
                break;
            case "(":
                repertoire='autre/';
                carac_image='ouvpar';
                break;
            case ")":
                repertoire='autre/';
                carac_image='fermepar';
                break;
            case ",":
                repertoire='autre/';
                carac_image='virg';
                break;
            case ";":
                repertoire='autre/';
                carac_image='pt-virg';
                break;
            case "+":
                repertoire='autre/';
                carac_image='plus';
                break;
            case "=":
                repertoire='autre/';
                carac_image='egal';
                break;
            case ":":
                repertoire='autre/';
                carac_image='2points';
                break;
            case "*":
                repertoire='autre/';
                carac_image='etoile';
                break;
            case "?":
                repertoire='autre/';
                carac_image='p-intero';
                break;
            case ".":
                repertoire='autre/';
                carac_image='point';
                break;
            case "/":
                repertoire='autre/';
                carac_image='slash';
                break;
            case "#":
                carac_image='#';
                break;

        }
        if (carac_image=="#")
        {
            // un # dans le fichier signifie un retour chariot (BR)
            document.all.texte.innerHTML=document.all.texte.innerHTML+"<br>";
            nb_car=0;
        }
        else
        {
            // Sinon un affiche l'image correspond au caractère ('A' affiche ../actu/maj/A.gif)
            document.all.texte.innerHTML=document.all.texte.innerHTML+"<img src=../actu/"+repertoire+carac_image+".gif>";
            // Increment le nombre de caractères affichés
            nb_car++;
        }
        // on retire le premier char de la chaine
        txt=txt.substr(1)
        // sur timout de 150 ms on affiche le char suivant
        setTimeout("affiche_lettre()", 150);
       
        // Si 30 char affichés, on renvoit à la ligne (30 char max par ligne)
        if (nb_car==30)
        {
            document.all.texte.innerHTML=document.all.texte.innerHTML+"<br>";
            nb_car=0;
        }
    }
}
</script>
</head>

<body>
<!-- On joue le son d'une frappe en continu -->
<embed src='../sons/frappe.wav' loop="1" width=200 height=55 autostart hidden>
<div id=center>
<div id=texte style=\"color : #000000\">
</div>
</div>
<?php
$total_lig="txt=\"";
// ouverture du fichier texte des actualités
$fichier = fopen("../actu/actu.txt", "r");
    // On lit la première ligne pour rien, elle comporte les commentaires.
    $ligne=fgets($fichier);
    // On lit le fichier en concaténant les lignes et en retirant les 2 derniers char
    do
    {
        $ligne=fgets($fichier);
        $total_lig=$total_lig.substr($ligne, 0, strlen($ligne)-2);
    }
    while (!feof($fichier));
fclose($fichier);
$total_lig=$total_lig."\";";
echo "</body>";
echo "<script language=\"JavaScript\">";
// envoie la chaine 'txt="la chaine a afficher";'
echo $total_lig;
?>
<!-- Affichage des lettres du message -->
affiche_lettre();
</script>
</html>



Cette discussion est classée dans : image, case, break, repertoire, carac


Répondre à ce message

Sujets en rapport avec ce message

changer d'image en cliquant sur un lien [ par spiesalex ] salut tous voici mon code:switch ($_POST['vaisseau']) {case x_302:echo'12<option modifier script "date suivant texte" [ par archi57 ] Bjr le forum, j'aimerai modifier le script suivant de facon a ne faire apparaitre que "la date et le message" à venir et non la date du jour comme a formulaire dynamique [ par serialgraph ] Un petit probleme avec une liste déroulante contextuelle !!! Je désire créer une liste déroulante qui affiche des informations en fonction d'un choi est-ce que "goto" existe en javascript ? [ par DMK04 ] Bonjour,Je voudrais savoir si les "goto" existe en JavaScript.Comment je peux réaliser ça à part en faisant une fonction pour chaque "case" :switch(x) Les raccourcis... [ par Zart ] Je travail sur un projet et je voudrais intégrer des raccourcis claviers. ex : ctrl + alt + M pour ouvrir la messagerie... Tout fonctionnait parfaite compatibilité IE / firefox [ par laubro ] Bonjourj'ai script pour pour du bbcode dans un formulaire qui fonctionne impec sous IE, mais pas sous mozilla (tien donc ? comment est ce possible ??) glisser une image dans une case d'un tableau [ par fab76000 ] Bonjour,J'ai un tableau de 4 cases dans ma page, avec une image à l'intérieur d'une des 4 cases. Je veux faire glisser mon image avec ma souris pour l repertoire de base (root) [ par SemBy ] existe-il une fonction qui permet de definir un repertoire de base?problem:je developpe un editeur de site web en utilisant un div editable,d'abord je OnMouseOver : traiter le cas pour une centaine d'image [ par Tibabou ] Bonjour/soir,J'ai une centaine d'images (img1, img2, img3...) dans ma page et je voudrais afficher une image différente lorsque la souris passe au des Timer dans un switch [ par smasluigi ] Bonjour à tous, Je suis débutant en javascript. J'ai un souci avec la syntaxe de mon switch. En fait dans mon code je veux lancer une animation,attend


Nos sponsors


Sondage...

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,998 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales