2017-01-31 6 views
1

Ich brauche Hilfe, um diesen Javascript-Player auf Klick zu spielen.Ich kann keinen Javascript-Player zur Arbeit bekommen

Ich folgte einem Beispiel. Ich dachte, ich hätte alles in Ordnung, aber ich kann es nicht spielen. Ich weiß, dass der Pfad zur MP3-Datei korrekt ist, da die Datei abgespielt wird, wenn die Seite geladen wird. Aber ich brauche die Datei, um auf Klick zu spielen.

Hier ist der Code:

<a id="mtoogle" style="cursor:pointer;"> 
<img src="../../../Custom/images/speaker.png"></a> 
<audio id="playTune"> 
<source src="../../../media/temp_Audio1.mp3"> 
</audio> 

<script type="text/javascript"> 
$('#mtoogle').toggle(
function() { 
document.getElementById('playTune').pause(); 
}, 
function() { 
document.getElementById('playTune').play(); 
} 
); 
</script> 

jemand kann darauf hinweisen, was mir fehlt? Ich würde es sehr schätzen.

+0

.toggle() blendet nur das Element aus, auf das es angewendet wird, und zeigt es an. Zweitens .toggle nimmt nicht 2 Funktionen wie diese als Parameter. http://api.jquery.com/toggle/ –

+0

'style =" cursorointer; "' Sie vermissen ein ': p': D –

+0

Roko, Sie sagen, ich sollte: hinter" cursorointer "statt; ? –

Antwort

1

jQuery's .toggle() tut verstecken/zeigen, nicht das, was Sie brauchen.

Zuerst prüfen, ob paused ist, als dies play() oder pause() bzw.

// Toggle audio play()/pause() methods 
AUDIO[AUDIO.paused ? "play" : "pause"](); 

wo AUDIO ist Ihr HTMLMediaElement

Beispiel:

var AUDIO = $("#audio")[0]; 
 

 
$("#btn").click(function() { 
 
    AUDIO[AUDIO.paused ? "play" : "pause"](); 
 
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 

 
<a id="btn" style="cursor:pointer;"><img src="//i.stack.imgur.com/qseZe.png"></a> 
 

 
<audio id="audio"> 
 
    <source src="http://upload.wikimedia.org/wikipedia/en/4/45/ACDC_-_Back_In_Black-sample.ogg"> 
 
</audio>

P. S: Ich habe Ihr IDs auf etwas Sinnvolles für Demozwecke umbenannt

toggle-audio-play-pause-image hier gibt es eine weitere einfache, aber schöne Implementierung für mehrere Spuren finden können.

MOZ docs: https://developer.mozilla.org/en-US/docs/Web/API/HTMLMediaElement/paused

+0

Es hat immer noch nicht funktioniert @ roko-c-buljan. Gibt es einen Weg, wie ich das gesamte Dokument betrachten kann, um zu sehen, ob es noch andere Probleme gibt? Es ist eine kleine Webseite. Nicht viel Code. –

+0

Roko, ich habe es jetzt funktioniert. Deine Lösung hat funktioniert. Vielen Dank. –

+0

@WilliamHodge du bist willkommen! Froh, dass du es geschafft hast. Ich hoffe es war nur ein kleines Problem :) –

0

Problem ist etwa Toggle() Methode.

Es wird auch funktionieren.

$('#mtoogle').click(function() { 
var tune = document.getElementById("playTune"); 
if(tune.paused) 
    tune.play(); 
else 
    tune.pause(); 
}); 
Verwandte Themen