J'expérimente avec le lecteur Youtube mais je n'arrive pas à le désactiver par défaut.
function onPlayerReady() {
player.playVideo();
// Mute?!
player.mute();
player.setVolume(0);
}
Comment puis-je le couper depuis le début?
Mise à jour:
L'API JavaScript Player est déconseillée .
Utilisez plutôt iframe Embeds .
Il s'avère que player.mute()
fonctionne très bien. Il avait seulement besoin du paramètre enablejsapi=1
. Le test initial au violon n'a pas fonctionné car l'initiation du joueur avait une erreur. Les œuvres suivantes.
HTML:
<iframe id="ytplayer" type="text/html" src="https://www.youtube-nocookie.com/embed/zJ7hUvU-d2Q?rel=0&enablejsapi=1&autoplay=1&controls=0&showinfo=0&loop=1&iv_load_policy=3" frameborder="0" allowfullscreen></iframe>
JS:
var player;
function onYouTubeIframeAPIReady() {
player = new YT.Player('ytplayer', {
events: {
'onReady': onPlayerReady
}
});
}
function onPlayerReady(event) {
player.mute();
player.playVideo();
}
Nous remercions Gagandeep Singh et Anton King d'avoir indiqué enablejsapi=1
Toutes les réponses ci-dessus n'ont pas fonctionné pour moi pour une raison quelconque. Cela pourrait être bizarre wordpress que j'ai dû utiliser ou des méthodes dépréciées à l'API Youtube, je ne suis pas sûr. La seule façon de couper le lecteur était d'insérer le code ci-dessous dans la balise.
// Loads the IFrame Player API code asynchronously.
var tag = document.createElement('script');
tag.src = "https://www.youtube.com/player_api";
var firstScriptTag = document.getElementsByTagName('script')[0];
firstScriptTag.parentNode.insertBefore(tag, firstScriptTag);
// Replaces the 'ytplayer' element with an <iframe> and
// YouTube player after the API code downloads.
var player;
function onYouTubePlayerAPIReady() {
player = new YT.Player('ytplayer', {
height: '390',
width: '640',
videoId: 'YOUR_VIDEO_ID',
playerVars: {
autoplay: 1,
controls: 1,
disablekb: 1,
hl: 'ru-ru',
loop: 1,
modestbranding: 1,
showinfo: 0,
autohide: 1,
color: 'white',
iv_load_policy: 3,
theme: 'light',
rel: 0
},
events: {
'onReady': onPlayerReady,
}
});
}
function onPlayerReady(event){
player.mute();
}
<div id="ytplayer"></div>
Il est important de noter que l'API YouTube vous oblige à l'exécuter dans votre balisage directement dans une balise <script>
, Ou via un écouteur natif document.onLoad()
standard et non en tant que fonction nommée.
Sinon, il ne liera pas nativement la fonction onYouTubeIframeAPIReady()
au DOM.
Essayez le code ci-dessous
var youtubeplayer = iframe.getElementById('ytplayer');
youtubeplayer .setVolume(0);
Et ci-dessous est votre version mise à jour du violon,
REMARQUE: Doit inclure enablejsapi = 1 dans l'url de la vidéo
var tag = document.createElement('script');
tag.src = "//www.youtube.com/iframe_api";
var firstScriptTag = document.getElementsByTagName('script')[0];
firstScriptTag.parentNode.insertBefore(tag, firstScriptTag);
var player;
function onYouTubeIframeAPIReady() {
player = new YT.Player('ytplayer', {
events: {
'onReady': onPlayerReady,
'onStateChange': onPlayerStateChange
}
});
}
function onPlayerReady(event) {
player.playVideo();
// Mute?!
//player.mute(); instead of this use below
event.target.mute();
//player.setVolume(0);
}
DÉMO J'espère que cela vous aidera ...