YouTube:如何在静音的情况下呈现嵌入视频
Posted
技术标签:
【中文标题】YouTube:如何在静音的情况下呈现嵌入视频【英文标题】:YouTube: How to present embed video with sound muted 【发布时间】:2016-05-04 19:57:17 【问题描述】:我正在尝试嵌入一个静音的视频,但我不知道它是如何工作的。
目前我正在使用这个但不起作用:
<iframe src="https://www.youtube.com/embed/uNRGWVJ10gQ?rel=0&autoplay=1" frameborder="0" allowfullscreen></iframe>
你们中的任何人都知道我怎样才能完成这项工作吗?
【问题讨论】:
【参考方案1】:更新
将&mute=1
添加到您的网址末尾。
您的新代码将是:
<iframe src="https://www.youtube.com/embed/uNRGWVJ10gQ?rel=0&amp;autoplay=1&mute=1" width="560" height="315" frameborder="0" allowfullscreen></iframe>
【讨论】:
不再起作用了。使用 youtube api (***.com/a/41045251/353752) @FrankConijn,更简单的解决方案?答案都是一样的,但是这个有一个例子,不管谁是第一个,有了例子,事情就变得更容易了。 @ICGDEVS — 你的评论没有任何意义。查看编辑日期和我的评论 - 在另一个答案下,并没有说“更容易”。 我的错,对不起。无论如何,您在我之前的评论已经消失,所以它不再有意义。【参考方案2】:对我来说,使用 &autoplay=1&mute=1
【讨论】:
从一开始就应该这么简单。是的,这对我也有用。 确实就这么简单:加&amp;mute=1
。【参考方案3】:
接受的答案对我不起作用,我关注 this tutorial 反而成功了。
基本上:
<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>
【讨论】:
您还可以将mute: 1
添加为额外的playerVar
,这样就不需要onReady
事件。请务必在autohide: 0
之后添加一个逗号,并注意您不能使用mute: 0
,因为这会被视为“垃圾邮件”。另请注意,一旦您在刷新页面时明确将视频静音,该视频仍将被静音。
有谁知道如何对页面上的多个视频使用此方法?我尝试在每个实例中更改div
的id
,但只显示第一个视频。同一页面上的所有其他视频均不可见。【参考方案4】:
这很容易。只需将 mute=1 添加到 iframe 的 src 参数即可。 示例:
<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>
【讨论】:
【参考方案5】:<iframe src="https://www.youtube.com/embed/7cjVj1ZyzyE?autoplay=1&loop=1&playlist=7cjVj1ZyzyE&mute=1" frameborder="0" allowfullscreen></iframe>
静音=1
【讨论】:
请补充说明How to answer【参考方案6】:<iframe 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 src="https://www.youtube.com/embed/ObHKvS2qSp8?list=PLF8tTShmRC6uppiZ_v-Xj-E1EtR3QCTox&autoplay=1&controls=1&loop=1&mute=1" frameborder="0" allowfullscreen></iframe>
【讨论】:
截至 2017 年,这是正确的,应该被接受。【参考方案7】:我要感谢在该区域发布以下代码的朋友。我终于解决了一个我整天不得不处理的问题。
<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>
【讨论】:
【参考方案8】:来源: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>
【讨论】:
【参考方案9】:只需传递mute=1
。
例如:
<iframe id="myVideo" src="https://www.youtube.com/embed/k0DN-BZrM4o?rel=0&autoplay=1;mute=1" frameborder="0" allowfullscreen></iframe>
【讨论】:
【参考方案10】:也在寻找解决方案,但我不包括通过 iframe,我的链接到 images/video.mp4 - 找到了这个 https://www.w3schools.com/tags/att_video_muted.asp - 我只是添加了
【讨论】:
【参考方案11】:<iframe src="https://www.youtube.com/embed/ULzr7JsFp0k?list=PLF8tTShmRC6vp9YTjkVdm1qKuTimC6K3e&rel=0&autoplay=1&controls=1&loop=1" rel=0& frameborder="0" allowfullscreen></iframe>
【讨论】:
请详细说明其工作原理和原因。只贴一个代码 sn-p 对新手没有帮助。 这只是问题所在!【参考方案12】:试试这个
<iframe src="http://www.youtube.com/embed/
HeQ39bLsoTI?autoplay=1&cc_load_policy=1" volume="0" frameborder="0"
allowfullscreen></iframe>
别忘了写volume="0"
【讨论】:
以上是关于YouTube:如何在静音的情况下呈现嵌入视频的主要内容,如果未能解决你的问题,请参考以下文章
如何在没有 Youtube 或 Vimeo 的情况下嵌入视频?
如何在用户不触摸 UIWebView 本身的情况下启动 YouTube 视频?
没有静音的 HTML 视频自动播放(或者 youtube 是如何做到的)?