web-dev-qa-db-fra.com

Utilisation de <audio> dans Firefox avec JavaScript

J'essaie d'implémenter de la musique de fond sur un site Web à l'aide de l'objet audio contrôlé par JavaScript. J'ai déjà posé une question à ce sujet @LazyOne a expliqué que IIS va pas servir les types MIME inconnus, ni le serveur de développement VS.

J'ai maintenant téléchargé le site sur un serveur IIS 7, le type MIME pour ogg est en place et lorsque le site auquel le site a accédé renvoie un contenu partiel de 206 ( mozilla.org mentionne que 206 réponses sont normales et attendues pour les fichiers ogg) et l’évaluation du fichier fonctionne directement dans Firefox (par exemple, si vous accédez à domain.com/music/file.ogg, il est lu dans le navigateur). et le fichier joue bien en arrière-plan si l'attribut autoplay est défini, mais il ne joue pas via JavaScript.

Voici le code JavaScript en question et le code HTML pertinent:

audioMusic.volume = 0.15;

function playMusic(){   
    audioMusic.play();
}

function stopMusic(){
    audioMusic.pause();
}

Html pertinent:

<html xmlns="http://www.w3.org/1999/xhtml">
<head>
    <title></title>
</head>
<body>

  <a href="javascript:void(0)" onclick="playMusic()">on</a>
  <a href="javascript:void(0)" onclick="stopMusic()">off</a>

 <audio id="audioMusic" loop="loop" preload="auto">
   <source src="/Music/music.ogg" type="audio/ogg" />
   <source src="/Music/music.mp3" type="audio/mp3" />   
  </audio>

  <script type="text/javascript" src="/Scripts/music.js"></script>
</body>
</html>

Plus de faits intéressants:

  • la fonction playMusic () est appelée dans Firefox. Si vous ajoutez une alerte au début, elle est désactivée, mais ne peut pas être exécutée: audioMusic.play ()
  • J'ai aussi essayé document.getElementById ("audioMusic"). Play ();
  • Document.getElementById ("audioMusic"). Play () et audioMusic.play () fonctionnent dans Chrome et IE, mais pas dans firefox
  • J'utilise Firefox 5.0.1 (le dernier)

Question: Comment contrôler l'élément audio via JavaScript dans Firefox?

1
broccoli_soup

Eh bien, je ne sais toujours pas exactement pourquoi Firefox ne veut pas lire ce fichier, mais si quelqu'un a le même problème - j'ai fini par utiliser jPlayer. Vous pouvez le télécharger à partir de: http://www.jplayer.org/

FAIRE:

Placez les fichiers jPlayer dans votre dossier de scripts. Vous pouvez ensuite utiliser cette page html pour implémenter le lecteur sur votre site Web: http://Pastebin.com/mhdt2m7W

Veillez à modifier les noms de fichier et les répertoires en fonction des besoins, à savoir l'emplacement du fichier de musique et l'emplacement de votre dossier de scripts.

Bonne chance.

0
broccoli_soup

Avez-vous testé votre code HTML avec le validateur W3C? http://validator.w3.org/

De plus, je pense que vous devez utiliser une balise d'objet normale pour lire de la musique dans Firefox 5. Donc, si j'étais vous, ce serait ce que je testerais (après avoir obtenu du code HTML valide)

0
Zonata