Der Martin: <audio> per Leertaste stoppen / weiterspielen

Beitrag lesen

Hallo,

Versuch mit var focused = document.hasFocus();

  // Leertaste = toggle
  function startStop( evt ) {
    if ( evt.keyCode == 32 ) {
      for ( let i=0; i < arr_ausgewaehlte_audios.length; i++ ) {
        if ( arr_ausgewaehlte_audios[i].hasFocus() ) {
          // Leertaste wird bereits von audio ausgewertet
        } else {
          if ( arr_ausgewaehlte_audios[i].paused ) arr_ausgewaehlte_audios[i].play();
          else arr_ausgewaehlte_audios[i].pause();
        }
      }
      evt.stopPropagation();
    }
  }

Jetzt klappt's, wenn <audio> den Focus hat (da ist aber Javascript überflüssig), wenn nicht, meldet Javascript TypeError: arr_ausgewaehlte_audios[i].hasFocus is not a function

die Beschreibung auf MDN, die du selbst gefunden und verlinkt hast, besagt auch ausdrücklich, dass hasFocus() eine Methode des document-Objekts ist (und nicht jedes Element-Objekts), die true liefert, wenn das Dokument oder eines der darin enthaltenen Objekte den Focus hat.
Heißt letztendlich: Wenn das Browser-Tab mit dieser Abfrage den Focus hat.

Das kann dir also nicht helfen.

Live long and pros healthy,
 Martin

--
Ich stamme aus Ironien, einem Land am sarkastischen Ozean.