Falc410
Vice Admiral
- Registriert
- Juni 2006
- Beiträge
- 6.717
Ich bin gerade am verzweifeln. Ist wahrscheinlich nur ein ganz simpler Fehler aber ich komm einfach nicht drauf.
Ich benutze das HTML 5 audio Tag um eine Mp3 abzuspielen, allerdings will ich den Browser eigenen Player ausblenden und stattdessen z.B. nur meinen eigenen Play / Pause Knopf anzeigen. Dieser soll, je nachdem ob das MP3 gerade läuft oder nicht, eben ein Play oder Pause Bild haben. Dazu habe ich mich an die Event Listener des Audio drangehängt. Das Bild wechselt auch einwandfrei, nur der Knopf funktioniert nicht.
Wenn ich in die Developer Console direkt startAudio() eintippe kommt zwar ein undefined zurück aber die MP3 Datei wird abgespielt. Wenn ich stattdessen playPause() eingebe passiert gar nichts. Und obwohl ich sehe dass das Bild einen Eventlistener hat, passiert einfach nichts wenn ich darauf klicke.
Ich benutze das HTML 5 audio Tag um eine Mp3 abzuspielen, allerdings will ich den Browser eigenen Player ausblenden und stattdessen z.B. nur meinen eigenen Play / Pause Knopf anzeigen. Dieser soll, je nachdem ob das MP3 gerade läuft oder nicht, eben ein Play oder Pause Bild haben. Dazu habe ich mich an die Event Listener des Audio drangehängt. Das Bild wechselt auch einwandfrei, nur der Knopf funktioniert nicht.
Wenn ich in die Developer Console direkt startAudio() eintippe kommt zwar ein undefined zurück aber die MP3 Datei wird abgespielt. Wenn ich stattdessen playPause() eingebe passiert gar nichts. Und obwohl ich sehe dass das Bild einen Eventlistener hat, passiert einfach nichts wenn ich darauf klicke.
Code:
<div ID="audio">
<audio id="myaudio" controls preload="auto">
<source src="{{ audioData.uri }}" type="audio/mpeg">
</audio>
<input type="image" width="100" height="100" src="{% static 'images/playbutton.png' %}" id="controlButton" onclick="playPause()">
</div>
Code:
<script type="text/javascript">
audio = document.getElementById('myaudio');
controlButton = document.getElementById('#controlButton');
function startAudio() {
audio.play();
}
function playPause() {
//audio = document.getElementById('myaudio');
audio.playing == true ? audio.play() : audio.pause();
}
// ...
audio.onplay = function () {
playing()
};
function playing() {
audio.playing = true;
$('#controlButton').attr('src', "{% static 'images/pausebutton.png' %}");
}
// ...