Avatar billede loumann Praktikant
08. oktober 2010 - 11:07 Der er 6 kommentarer og
1 løsning

Hvordan afspiller jeg en lyd ved at klikke på en tekst?

Jeg her brug for at afspille lyd til indlæring af fremmedsprogsgloser på nettet.

Jeg ønsker at brugeren klikker på en glose og straks hører lyden udtalt (lydfilerne har jeg allerede)

Der skal ikke værer nogen player-knap, lyden skal ikke åbne i nye vinduer eller andre programmer, og det skal virke i almindelige browsere som IE, Firefox og Opera.

Har nogen en god kode til dette?

På forhånd tak!
Avatar billede DiscSunshine Nybegynder
08. oktober 2010 - 11:35 #1
Hej jeg her en håber du kan bruge den


<HTML>
<HEAD>
<TITLE> Baggrundslyd </TITLE>

<script type="text/javascript">
var autostart=false;        //Lydfilen starter automatisk - angiv true eller false
var audiofile='fuglesang.wav'; //Filstien til lydfilen
var off='Sound off';        //Tekst på knap, når lydfilen afspilles
var on='Sound on';        //Tekst på knap, når lydfilen ikke afspilles
var loop=-1;            //Antal gange som lydfilen skal afspilles.
                //Angives som positivt heltal. Værdien -1 svarer til uendelig.
function audioControl(){
if (document.getElementById && document.all) {
    if (!document.getElementById('audioContainer')) {
        document.body.innerHTML=document.body.innerHTML+
            '<BGSOUND ID="audioContainer" src="" loop="'+loop+'">'}
    var e=document.getElementById('audioContainer');
    var b=document.getElementById('audioElement');

    if (e.src=='' && autostart) {
        b.value=off;
        e.src=audiofile;
        }
    else {
        b.value=on;
        e.src='';
        autostart=true;
        }
    }
}
</script>

<style type="text/css">
.design      {width:80px;        /*Bredden af knappen*/
    color:black;        /*Tekstens farve*/
        background-color:white;    /*Knappens baggrundsfarve*/
        font-family:verdana;    /*Tekstens skrifttype*/
        font-size:10px;        /*Tekstens skriftstørrelse*/
        cursor:hand;        /*Udseende af musepilen, når den er over knappen*/
      }
</style>

</HEAD>
<BODY onload="audioControl()">

<input type="button" onclick="audioControl()" id="audioElement" class="design">

</BODY>
</HTML>
Avatar billede loumann Praktikant
08. oktober 2010 - 12:21 #2
Tak DiscSunshine

Det var et godt bud, men koden indeholder desværre en player-knap som jeg ikke kan bruge, og som bl.a. forhindrer mig i at style teksten, der skal frembringe lydklippet.

Det skal være ren tekst (et ord), og ikke en knap, der klikkes på hvorved lyden afspiller. Håber andre derude kan komme med hjælp.
Avatar billede Slettet bruger
08. oktober 2010 - 12:56 #3
Du skal nok ud i noget Flash hvis du vil have at lyden bliver spillet på flest mulige computere.
Det kunne f.eks. være noget i stil med dette:
http://www.happyworm.com/jquery/jplayer/latest/demo-04.htm
Avatar billede DiscSunshine Nybegynder
09. oktober 2010 - 21:13 #4
er det bar fordig den ikke må ses man kun skal høras ??
Avatar billede loumann Praktikant
10. oktober 2010 - 11:33 #5
Tak, Kimsey0 og DiscSunshine

Jeg tror fortsat jeg går efter javascriptløsning, som jeg har set virke på andre websites.

Jeg har i melemtiden også fundet en kode, der stort set virker (se nedenunder. Det eneste problem er, at jeg har en side med fx 20 ord, der skal læses op, så man skal scrolle ned ad siden. Når man så klikker på et ord i bunden af siden, er det som om siden genindlæses og toppen af siden igen vises. Jeg har brug for at man bliver på siden samme sted som man har klikket for at få lyden læst op.  Hvis nogen kan fortælle mig, hvordan jeg løser det problem, vil jeg være dybt taknemmelig. Her er så koden:

<head>
<script language="javascript" type="text/javascript">
function playSound(soundfile) {
document.getElementById("dummy").innerHTML=
"<embed src=\""+soundfile+"\" hidden=\"true\" autostart=\"true\" loop=\"false\" />";
}
</script>
<head>

<body>
<span id="dummy"></span></html>

<a href="#" onClick="playSound('sounds_kap_1/crow.mp3');"><strong>estudiante</strong> 1</a> studerende

</body>
Avatar billede loumann Praktikant
12. oktober 2010 - 11:03 #6
I skal have tusind tak for interessen, men jeg har selv løst problemet nu. Ved følgende kode undgår man at siden refresher og scroller op til toppen ved klik på det link, der skal udløse lydfilen:

<script language="javascript" type="text/javascript">
function playSound(soundfile) {
document.getElementById("dummy").innerHTML=
"<embed src=\""+soundfile+"\" hidden=\"true\" autostart=\"true\" loop=\"false\" />";
}
</script>

<a href="java script:void(0)" onClick="playSound('sounds_kap_1/peacock.mp3');return false;"><strong><br> estudiar</strong></a> at studere<br>

<span id="dummy"></span></html>
Avatar billede loumann Praktikant
12. oktober 2010 - 11:05 #7
Tak for hjælpen. Jeg lukker spørgsmålet her.
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester