【问题标题】:How to stop music when embedded youtube video starts? [closed]嵌入的 youtube 视频启动时如何停止音乐? [关闭]
【发布时间】:2013-02-06 09:06:18
【问题描述】:

我有一个 HTML 网站,音乐在进入时开始播放,但我希望它在用户点击嵌入到我网站的 youtube 视频上播放时停止。所以它不会播放背景音乐和视频音乐能够同时运行,因为这很烦人。

知道如何做到这一点吗?或者这个问题有什么解决办法吗?

【问题讨论】:

  • 这根本不能回答你的问题,我不知道你的具体应用,但我想投反对票,反对在你的网站上使用背景音乐。这本身就很烦人。
  • 自动背景音乐已成为过去...不要惹恼用户
  • 任何网站的背景音乐 = 在诅咒设计师的同时尽快关闭。根据视频播放器的不同,您可以使用 JavaScript 挂钩播放器的“开始”事件并停止音频。
  • 感谢编辑我的问题的人,现在够清楚了吗?
  • 所以是问答。不是一般的讨论,伙计们。他显然明白这是个坏主意。否则他会去“代码审查”或类似的东西。如果你有答案,我相信你应该回答。如果不是,请让第一个给出明显意见的人。

标签: javascript jquery html


【解决方案1】:

使用 JavaScript 检测玩家的状态变化(onStateChange 事件):https://developers.google.com/youtube/js_api_reference#Events

如果视频是使用iframe(如 cmets 所示)加载的,请参阅Guide for YouTube iframe embeds(注意检测播放器事件的代码示例)。

示例

  function onYouTubeIframeAPIReady() {
    player = new YT.Player('player', {
      height: '390',
      width: '640',
      videoId: 'u1zgFlCw8Aw',
      events: {
        'onStateChange': onPlayerStateChange
      }
    });
  }

  function onPlayerStateChange(event) {
    if (event.data == YT.PlayerState.PLAYING) {
      // code to stop the audio player should probably go here
    }
  }

播放器启动时,使用 JavaScript 停止音频。您还没有告诉我们它是如何嵌入到页面中的,但几乎任何播放器都可以通过脚本停止(甚至bgsound 也可以被黑)。

并鼓励您的客户在页面加载时不要自动播放音乐。从纯粹的商业角度来看,它可能会让您的客户付出代价。

【讨论】:

  • 如果我要求你告诉我要逐步添加什么,我会不会问太多?这就是我嵌入视频的方式:<iframe width="560" height="315" src="http://www.youtube.com/embed/videolink" frameborder="0" allowfullscreen></iframe>
  • 这是控制嵌入 iframes:developers.google.com/youtube/iframe_api_reference 的视频的一个很好的演练。如果您卡在某个特定点上,请打开一个新问题。此站点上的用户喜欢查看带有代码示例的具体问题。
  • 感谢您的帮助,我已经添加了您给我的代码,我在 // 停止音频播放器的代码中添加了这个,应该可以在这里:function stop() { document.getElementById("sound").src = ""; } 这是背景音乐代码:<audio autoplay loop> <source src="music.mp3" id="sound"> <source src="music.ogg" id="sound"> </audio> 但我播放视频时它仍然没有停止音乐
  • 如果您在onPlayerStateChange() 中添加alert(),它会显示吗?第一步是确保事件正确触发。
猜你喜欢
  • 2013-01-25
  • 2016-10-14
  • 1970-01-01
  • 1970-01-01
  • 2019-02-07
  • 1970-01-01
  • 1970-01-01
  • 2015-06-09
  • 1970-01-01
相关资源
最近更新 更多