It works, you just need to run it after player is ready and functioning.
But on mobile devices, volume depends on the device's own setting rather than the player. So setVolume doesn't have any effect.
Here's an example: http://jsfiddle.net/iulukaya/XQ4bz/
var tag = document.createElement('script'); tag.src = "https://www.youtube.com/iframe_api"; var firstScriptTag = document.getElementsByTagName('script')[0]; firstScriptTag.parentNode.insertBefore(tag, firstScriptTag);
var player; function onYouTubeIframeAPIReady() {
player = new YT.Player('player', {
height: '250',
width: '444',
videoId: 'M7lc1UVf-VE',
events: {
'onReady': onPlayerReady
} }); }
function onPlayerReady(event) {
event.target.playVideo();
event.target.setVolume(0); }