<audio> per Leertaste stoppen / weiterspielen
bearbeitet vonMoin,
ich möchte die Audio-Files (= mehrere Spuren) einer Webseite per Leertaste stoppen und beim nächsten Druck weiterlaufen lassen. Unabhängig davon, welches Element im Focus ist.
Test erstmal mit nur einer Spur.
Das klappt, wenn das Audio-Tag **nicht** im Focus steht:
~~~js
// Leertaste = toggle
function startStop( evt ) {
if ( evt.keyCode == 32 ) {
for ( let i=0; i < arr_ausgewaehlte_audios.length; i++ ) {
if ( arr_ausgewaehlte_audios[i].paused ) arr_ausgewaehlte_audios[i].play();
else arr_ausgewaehlte_audios[i].pause();
}
evt.stopPropagation();
}
}
window.addEventListener('load', function ( ) {
// Leertaste bedeutet start/stop
document.addEventListener("keydown", startStop );
});
~~~
**Wenn das Audio-Tag den Focus hat** (ich starte das Lied dort per Klick) und das Lied läuft, stoppt es.
Bei der nächsten Leertaste läuft es kurz an und stoppt wieder.
Wie kann ich dem Audio-Tag die Leertaste entziehen?
Fragt Linuchs
<audio> per Leertaste stoppen / weiterspielen
bearbeitet vonMoin,
ich möchte die Audio-Files (= mehrere Spuren) einer Webseite per Leertaste stoppen und beim nächsten Druck weiterlaufen lassen. Unabhängig davon, welches Element im Focus ist.
Das klappt, wenn das Audio-Tag **nicht** im Focus steht:
~~~js
// Leertaste = toggle
function startStop( evt ) {
if ( evt.keyCode == 32 ) {
for ( let i=0; i < arr_ausgewaehlte_audios.length; i++ ) {
if ( arr_ausgewaehlte_audios[i].paused ) arr_ausgewaehlte_audios[i].play();
else arr_ausgewaehlte_audios[i].pause();
}
evt.stopPropagation();
}
}
window.addEventListener('load', function ( ) {
// Leertaste bedeutet start/stop
document.addEventListener("keydown", startStop );
});
~~~
**Wenn das Audio-Tag den Focus hat** (ich starte das Lied dort per Klick) und das Lied läuft, stoppt es.
Bei der nächsten Leertaste läuft es kurz an und stoppt wieder.
Wie kann ich dem Audio-Tag die Leertaste entziehen?
Fragt Linuchs
<audio> per Leertaste stoppen / weiterspielen
bearbeitet vonMoin,
ich möchte das Audio-File einer Webseite per Leertaste stoppen und beim nächsten Druck weiterlaufen lassen. Unabhängig davon, welches Element im Focus ist.
Das klappt, wenn das Audio-Tag **nicht** im Focus steht:
~~~js
// Leertaste = toggle
function startStop( evt ) {
if ( evt.keyCode == 32 ) {
for ( let i=0; i < arr_ausgewaehlte_audios.length; i++ ) {
if ( arr_ausgewaehlte_audios[i].paused ) arr_ausgewaehlte_audios[i].play();
else arr_ausgewaehlte_audios[i].pause();
}
evt.stopPropagation();
}
}
window.addEventListener('load', function ( ) {
// Leertaste bedeutet start/stop
document.addEventListener("keydown", startStop );
});
~~~
**Wenn das Audio-Tag den Focus hat** (ich starte das Lied dort per Klick) und das Lied läuft, stoppt es.
Bei der nächsten Leertaste läuft es kurz an und stoppt wieder.
Wie kann ich dem Audio-Tag die Leertaste entziehen?
Fragt Linuchs