Ich möchte einen Sound in meiner Anwendung spielen, wenn ein Tab im Browser unabhängig Fokus verfügbar ist. Ich benutze HTML 5 Audio-Tags, um den Sound abzuspielen. Aber Chrome und Safari verzögern das Abspielen von Audiodateien, bis der Benutzer den Tab navigiert oder fokussiert. Die gesamte Audioanforderung zum Abspielen von Ton wird zu einer Zeit des Tab-Fokus abgespielt. Es wird zu laut, wenn Sie viel Sound gleichzeitig hören. Ist es möglich, einen Ton von einem unfokussierten Tab abzuspielen, ohne dass der Browser die Natur verschiebt? Schlage mir eine alternative Lösung vor, um diese Situation zu bewältigen. Danke im Voraus.HTML5-Audio-Tag spielt keinen Ton für den allerersten unfokussierten Tab in Chrome und Safari?
Antwort
Dies ist das erwartete Verhalten seit Chrome 46. Um die Browserleistung zu optimieren und Strom zu sparen, hat Google die automatische Wiedergabe auf den Hintergrundregisterkarten deaktiviert. Doch von Chrome starten 47, gibt es eine Möglichkeit für eine Person, die es zu überschreiben, indem ermöglicht der Chrome-Flagge
chrome: // flags/# disable-Geste-Anforderung-for-Medien-Wiedergabe
UPDATE: Chrome-Flag ist nicht mehr verfügbar, da Chrome 60 (danke @gordie)
Es gibt keine Abhilfe ist, das Sound erlauben würde, in dem 'Hintergrund' Tab zu spielen. Die Lösung besteht darin, keine Sounds zu spielen, bis die Seite fokussiert ist. Dazu können Sie entweder den Ereignishandler window.onfocus
oder vorzugsweise die Visibility API() verwenden.
Hallo! Danke für diese Information. Aber Soundcloud schafft es, also sollte es einen Workaround geben? – gordie
Ich habe gerade SoundCloud in Chrome getestet. Es scheint nicht automatisch zu spielen. Wenn Sie beispielsweise diesen Link [eingebetteter SoundCloud-Player] in einem neuen Tab öffnen, https://w.soundcloud.com/player/?url=http://api.soundcloud.com/tracks/118596500&auto_play=true&buying=true&liking= true & shown = true & show_comments = true & show_playcount = true & show_user = true & ausblenden_related = false & visual = true & start_track = 0 & callback = true (Rechtsklick -> Link in neuem Tab öffnen), dann wird es nicht automatisch abgespielt, bis Sie den Tab fokussieren. – Xeos
Es sind zwei "Hacks" möglich: 1) Wenn mehrere Registerkarten geöffnet sind, verwenden Sie das mindestens einmal zur Wiedergabe von Sounds verwendete. 2) Wenn die Registerkarte zuerst fokussiert wird, verwenden Sie Audio API, um einen stillen Clip abzuspielen. Auf diese Weise können Sie, wenn die Zeit gekommen ist, eine Wiedergabe starten, ohne auf die Person warten zu müssen, um den Tab zu fokussieren. – Xeos
- 1. AVAudioPlayer spielt keinen Ton
- 2. Warum spielt mein PHP-Cron-Skript keinen Ton?
- 3. MediaPlayer spielt keinen Ton ab, nachdem der Bildschirm gesperrt wurde
- 4. Pyttsx produziert keinen Ton
- 5. AVAudioRecorder hat keinen Ton
- 6. Wie spielt man Ton in C#?
- 7. Wie man einen Ton in Xamarin.Forms spielt?
- 8. pyttsx erzeugt keinen Ton
- 9. Wie man .MP4-Dateien in Safari spielt
- 10. Android: takePicture() macht keinen Ton
- 11. AVAudioPlayer gibt keinen Ton wieder?
- 12. libpd mit Android - Patch spielt keinen Ton bei der Verwendung von Ausdruck in Patch
- 13. Linearer Farbverlauf in den Browsern Chrome und Safari
- 14. Webgl, Safari und Chrome Kompatibilität
- 15. reagiert-native iOS-App webview spielt Video, aber ohne Ton
- 16. Hintergrund ist in Chrome und Safari gedrückt
- 17. AVAudioPlayer spielt keinen MP3-Sound
- 18. CSS-Animationsverzögerungszeit in Safari und mobil Chrome
- 19. PlaySound() Funktion wird keinen Ton abspielen
- 20. CSS Hover Problem in Chrome und Safari
- 21. ContentEditable Fokus in Chrome/Safari
- 22. Html Video-Player spielt Ton, aber nicht Video
- 23. Promise Tab in Chrome DevTools
- 24. jquery .width() Chrome und Safari Problem
- 25. Warum spielt das <audio> nicht in Safari?
- 26. Ändern von Platz und Breite in Chrome und Safari
- 27. Verhalten der Rückseitensichtbarkeit zwischen Chrome und Safari
- 28. Google Chrome und Safari Browser Datenspeicher
- 29. Verwenden Sie BASS.NET MIDI-Ereignis erstellen keinen Ton
- 30. Chrome und Safari XSLT mit JavaScript
Also alles, was Sie wollen, ist ein Audio-Tag zu spielen, auch wenn Sie auf einem anderen Tab sind? – zer00ne