2015-02-27 2 views
8

Je souhaite passer un appel vidéo avec webrtc. J'ai deux flux, l'un est local et le second est un flux distant.Impossible de désactiver la balise vidéo HTML5 dans Firefox

Dans Chrome, je mets en sourdine ma balise vidéo afin de ne pas entendre ma voix, ce qui entraîne un écho. Ma balise HTML est comme;

<video style="position:absolute;right:5px;bottom:5px;display: inline;" class="localVideo" autoplay="autoplay" 
muted="true" 
src="mediastream:3ffffe01-da89-44d9-b9cf-454b11ec6a6a" height="25%" width="25%"></video> 

Dans Firefox mis en sourdine = "true" propriété ne fonctionne pas, de sorte que j'entends ma voix. J'ai essayé de mettre en sourdine la propriété de plusieurs façons dans d'autres sujets comme;

var video = document.querySelector("#movie");  
video.muted = true; 

différentes variantes de cet extrait de code avec jquery n'ont pas fonctionné. Puis j'ai décidé d'ajouter la propriété controls à la balise vidéo, afin de voir comment fonctionnent les boutons de contrôle de Firefox. J'ai vu que le bouton de sourdine sur le contrôleur de Firefox ne fonctionne pas non plus.

Ce problème se produit dans Firefox 35 et Firefox ESR 31.5 avec Windows 7 à 8.1, macOS avec Yosemite. Je reçois un flux multimédia via les bibliothèques webrtc localStream.

Est-ce un problème connu, si oui existe-t-il une solution pour résoudre ce problème?

Merci.

+0

Quelle bibliothèque utilisez-vous? Ou au cas où vous écrivez le code vous-même, s'il vous plaît partager quelques morceaux utiles de votre code. Il est difficile de dire pourquoi il échoue car cette propriété fonctionne pour moi à la fois dans Chrome et FF. Aussi s'il vous plaît partager la version OS et FF. – igorpavlov

+0

J'ai ajouté quelques informations. Merci! –

+0

Votre vidéo n'a pas l'ID = "film". Donnez-lui une pièce d'identité en premier. Essayez également d'exécuter dans la console le code suivant: document.getElementById ("movie"). Muted = true – igorpavlov

Répondre

1

J'ai également eu des problèmes pour mettre la vidéo en sourdine avec Firefox. Pas de problème avec Chrome. J'ai travaillé autour du problème de Firefox en réglant le volume à zéro. Même effet net?

var video = document.querySelector("#movie");  
video.volume = 0; 
2

Note: Il y a une meilleure réponse dans ce question

J'ai aussi eu ce problème dans FF45. La solution consistait à mettre en sourdine le code par rapport au DOM.

$("#browserCheck").get(0) 
<video id="browserCheck" class="img-responsive" autoplay="" muted="true"> 
$("#browserCheck").get(0).muted 
false 
$("#browserCheck").get(0).muted = true 
true 
$("#browserCheck").get(0).muted 
true 
9

aussi je suis tombé sur ce problème avec Firefox, la solution la plus simple que j'ai trouvé utilise l'événement onloadedmetadata comme ci-dessous:

video { 
 
    width: 200px; 
 
    height: 200px; 
 
}
<video 
 
    src="https://scontent-lhr3-1.cdninstagram.com/t50.2886-16/12930587_1020784647992081_252978711_n.mp4" 
 
    muted 
 
    onloadedmetadata="this.muted = true" 
 
    onmouseenter="play()" 
 
    onmouseleave="pause()">

+0

Parfait, a bien fonctionné pour moi! – Danmoreng