J'ai un petit problème de bouton qui fonctionne sur Chrome mais pas sur Safari. J'ai essayé d'essayer la lecture automatique à différents endroits sans succès. Qu'est-ce que j'oublie ici? Veuillez noter que je n'ai pas de sons mis en ligne à partager. J'utilisais initialement des fichiers audio codés en Base64. Si je pouvais en trouver un plus court, je modifierais ce message, mais l'éditeur de SO limite mes messages à celui-ci.
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>音频播放和暂停</title> <link rel="stylesheet" href="styles.css"> </head> <body> <audio id="audioElement" preload="auto"> <source src="sound.mp3" type="audio/mpeg"> </audio> <button id="playPauseButton" onmousedown="playAudio()" onmouseup="pauseAudio()" ontouchstart="playAudio()" ontouchend="pauseAudio()">播放/暂停</button> <script> function playAudio() { document.getElementById("audioElement").play(); } function pauseAudio() { document.getElementById("audioElement").pause(); } </script> </body> </html>
Voici un lien vers un JS Fiddle si cela peut aider. Merci.
https://jsfiddle.net/anonymouspenguin/kevhq7x1/1/
Je ne sais pas comment déboguer dans Safari, mais dans Google Chrome, je clique sur les points de suspension (icône à 3 points verticaux), sélectionnez Paramètres, puis Outils de développement.
Allez à la console > Effacer la console > Cliquez sur votre bouton
J'ai eu cette erreur. Les deux propriétés onmouseup et ontouchpad de l'étiquette de votre bouton sont en conflit avec d'autres propriétés. Veuillez les supprimer. Une fois que la lecture fonctionne correctement, recherchez l'erreur suivante et continuez.
Au lieu de mettre des attributs dans la balise HTML du bouton, vous pouvez essayer ceci :