YouTube: How to present embed video with sound muted
Asked Answered
P

12

101

I'm trying to embed a video with the sound muted but I can not figure out how it make it work.

Currently I'm using this but doesn't work:

<iframe src="https://www.youtube.com/embed/uNRGWVJ10gQ?rel=0&amp;autoplay=1" width="560" height="315" frameborder="0" allowfullscreen></iframe>

Any of you knows how can I make this work ?

Proconsulate answered 27/1, 2016 at 17:51 Comment(0)
T
133

Updated

Add &mute=1 to the end of your url.

Your new code would be:

<iframe src="https://www.youtube.com/embed/uNRGWVJ10gQ?rel=0&amp;autoplay=1&mute=1" width="560" height="315" frameborder="0" allowfullscreen></iframe>
Tarango answered 27/1, 2016 at 18:1 Comment(4)
doesn't work anymore. use youtube api (https://mcmap.net/q/110915/-youtube-how-to-present-embed-video-with-sound-muted)Frequentative
@FrankConijn, easier solution? the answers are the same, but this one has an example, doesn't matter who is the first, with example things make more easier.Hertha
@ICGDEVS — Your comment doesn't make any sense. Look at the dates of the edits and my comment - under another answer, and saying nothing about 'easier'.Mccallister
My bad, sorry. anyway your comment before mine is gone so its make more no longer make sense.Hertha
S
107

For me works using &autoplay=1&mute=1

Sher answered 23/6, 2017 at 15:56 Comment(2)
It should have been that easy from the beginning. Yeah, that works for me too.Suellen
It's indeed as simple as that: just add &amp;mute=1.Mccallister
M
36

The accepted answer was not working for me, I followed this tutorial instead with success.

Basically:

<div id="muteYouTubeVideoPlayer"></div>
<script async src="https://www.youtube.com/iframe_api"></script>
<script>
 function onYouTubeIframeAPIReady() {
  var player;
  player = new YT.Player('muteYouTubeVideoPlayer', {
    videoId: 'YOUR_VIDEO_ID', // YouTube Video ID
    width: 560,               // Player width (in px)
    height: 316,              // Player height (in px)
    playerVars: {
      autoplay: 1,        // Auto-play the video on load
      controls: 1,        // Show pause/play buttons in player
      showinfo: 0,        // Hide the video title
      modestbranding: 1,  // Hide the Youtube Logo
      loop: 1,            // Run the video in a loop
      fs: 0,              // Hide the full screen button
      cc_load_policy: 0, // Hide closed captions
      iv_load_policy: 3,  // Hide the Video Annotations
      autohide: 0         // Hide video controls when playing
    },
    events: {
      onReady: function(e) {
        e.target.mute();
      }
    }
  });
 }

 // Written by @labnol 
</script>
Medication answered 8/12, 2016 at 17:22 Comment(2)
You can also add mute: 1 as an additional playerVar and then the onReady event isn't needed. Be sure to add a comma after autohide: 0 and note that you cannot use mute: 0 because that would be considered 'spammy'. Also note that once you've explicitly muted a video when you refresh the page it will still be muted.Handal
Does anyone know how to use this method for more than one video on a page? I tried changing the id of the div in each instance, but only the first video is displayed. All the other videos on the same page are not visible.Labyrinthine
B
13

This is easy. Just add mute=1 to the src parameter of iframe.

Example:

<iframe src="https://www.youtube.com/embed/uNRGWVJ10gQ?controls=0&mute=1&showinfo=0&rel=0&autoplay=1&loop=1&playlist=uNRGWVJ10gQ" frameborder="0" allowfullscreen></iframe>
Beadledom answered 27/6, 2017 at 4:20 Comment(0)
C
4

<iframe  src="https://www.youtube.com/embed/7cjVj1ZyzyE?autoplay=1&loop=1&playlist=7cjVj1ZyzyE&mute=1" frameborder="0"  allowfullscreen></iframe>

mute=1

Clod answered 14/2, 2018 at 11:46 Comment(1)
Please add some explanation How to answerLawannalawbreaker
I
2
<iframe width="560" height="315" src="https://www.youtube-nocookie.com/embed/ObHKvS2qSp8?list=PLF8tTShmRC6uppiZ_v-Xj-E1EtR3QCTox&autoplay=1&controls=1&loop=1&mute=1" frameborder="0" allowfullscreen></iframe>



<iframe width="560" height="315" src="https://www.youtube.com/embed/ObHKvS2qSp8?list=PLF8tTShmRC6uppiZ_v-Xj-E1EtR3QCTox&autoplay=1&controls=1&loop=1&mute=1" frameborder="0" allowfullscreen></iframe>
Informant answered 8/7, 2017 at 12:49 Comment(1)
As of 2017, this is correctly working and should be the accepted.Tenet
A
2

I would like to thank the friend who posted the codes below in this area. I finally solved a problem that I had to deal with all day long.

<div id="muteYouTubeVideoPlayer"></div>
                            <script async src="https://www.youtube.com/iframe_api"></script>
                            <script>
                                function onYouTubeIframeAPIReady() {
                                    var player;
                                    player = new YT.Player('muteYouTubeVideoPlayer', {
                                        videoId: 'xCIBR8kpM6Q', // YouTube Video ID
                                        width: 1350, // Player width (in px)
                                        height: 500, // Player height (in px)
                                        playerVars: {
                                            autoplay: 1, // Auto-play the video on load
                                            controls: 0, // Show pause/play buttons in player
                                            showinfo: 0, // Hide the video title
                                            modestbranding: 0, // Hide the Youtube Logo
                                            loop: 1, // Run the video in a loop
                                            fs: 0, // Hide the full screen button
                                            cc_load_policy: 0, // Hide closed captions
                                            iv_load_policy: 3, // Hide the Video Annotations
                                            autohide: 0, // Hide video controls when playing
                                            rel: 0 
                                        },
                                        events: {
                                            onReady: function(e) {
                                                e.target.setVolume(5);
                                            }
                                        }
                                    });
                                }

                                // Written by @labnol

                            </script>
Alternator answered 6/8, 2017 at 15:14 Comment(0)
S
1

Source: https://developers.google.com/youtube/iframe_api_reference

   <div id="player"></div>
    <script>

          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: '720',
              width: '1280',
              videoId: 'M7lc1UVf-VE',
              playerVars :{'autoplay':1,'loop':1,'playlist':'M7lc1UVf-VE','vq':'hd720'},
              events: {
                'onReady': onPlayerReady,
                'onStateChange': onPlayerStateChange
              }
            });
          }

          function onPlayerReady(event) {
               event.target.setVolume(0);
           event.target.playVideo();
          }

          var done = false;
          function onPlayerStateChange(event) {
            if (event.data == YT.PlayerState.PLAYING && !done) {
        //      setTimeout(stopVideo, 6000);
                      done = true;
            }
               event.target.setVolume(0);
          }
    </script>
Sommers answered 21/12, 2016 at 9:23 Comment(0)
I
0

Just pass mute=1.

For example:

<iframe id="myVideo" src="https://www.youtube.com/embed/k0DN-BZrM4o?rel=0&amp;autoplay=1;mute=1" width="100%" height="600" frameborder="0" allowfullscreen></iframe>
Indaba answered 17/9, 2017 at 14:11 Comment(0)
T
-1

was also looking for a solution to this but I wasn't including via iframe, mine was linked to images/video.mp4 - found this https://www.w3schools.com/tags/att_video_muted.asp - and I simply added < video controls muted > (CSS/HTML 5 solution), but no JS required for me...

Tuck answered 3/8, 2017 at 16:40 Comment(0)
M
-3
<iframe width="560" height="315" src="https://www.youtube.com/embed/ULzr7JsFp0k?list=PLF8tTShmRC6vp9YTjkVdm1qKuTimC6K3e&rel=0&amp;autoplay=1&controls=1&loop=1" rel=0&amp frameborder="0" allowfullscreen></iframe>
Mounting answered 4/7, 2017 at 18:57 Comment(2)
Please elaborate on how this works and why. Just posting a code snippet is not helpful to newcomers.Kanter
This just doesn't do what the question was!Offcolor
B
-5

Try this

<iframe width="420" height="315" src="http://www.youtube.com/embed/
HeQ39bLsoTI?autoplay=1&cc_load_policy=1" volume="0" frameborder="0"
allowfullscreen></iframe>

don't forget to write volume="0"

Blackmarket answered 15/10, 2016 at 18:3 Comment(0)

© 2022 - 2024 — McMap. All rights reserved.