Vimeo在加载时嵌入自动静音

时间:2015-09-17 16:13:31

标签: javascript html5 vimeo vimeo-api vimeo-player

我有一个vimeo嵌入式视频,但似乎无法在加载时集成静音。

这是我的视频代码

<div id="vimeo"> </div> 

<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.8.2/jquery.min.js"></script>
<script src="https://f.vimeocdn.com/js/froogaloop2.min.js"></script>

和js使用

 <script>
// URL of the video 
        var videoUrl = 'http://www.vimeo.com/76979871?api=1?player_Id=vimeoyo';

        var endpoint = 'http://www.vimeo.com/api/oembed.json';
        var callback = 'embedVideo';
        var url = endpoint + '?url=' + encodeURIComponent(videoUrl)+ '&autoplay=true' + '&callback=' + callback + '&width=420';
        function embedVideo(video) {
            document.getElementById('vimeo').innerHTML = unescape(video.html);
        }
        function init() {
            var js = document.createElement('script');
            js.setAttribute('type', 'text/javascript');
            js.setAttribute('src', url);
            document.getElementsByTagName('head').item(0).appendChild(js);
            var player = 'vimeoyo';
            player.api('setVolume', 0);
        }


        window.onload = init;


  </script>

问题还有,视频不是iframe。

编辑:有一个使用iframe静音的答案。这里

Muting an embedded vimeo video

但是使用这个小提琴测试了它,它似乎也没有使视频静音。 http://jsfiddle.net/serversides/gfcpjLsy/

2 个答案:

答案 0 :(得分:1)

由于您从vimeo api创建了with minBrand as ( SELECT Display_UPC, MIN(BRAND) Brand from Table1 GROUP BY Display_UPC ) select m.Brand MainBrand, t.* from minBrand m inner join Table1 t on m.Display_UPC = t.Display_UPC order by m.Brand, t.Display_UPC, t.Brand, t.Item_Description ,因此您应该只在加载iframe后设置音量。因此,在您的iframe函数中,将HTML插入embedVideo后,您必须获得div的第一个孩子(div) ,并向其添加iframe事件。

加载iframe后,您必须使用froogaloop的onload函数将iframe封装到其库中,然后您可以使用$f方法将卷设置为零。

在您的示例中,您尝试在api中调用api方法,但它永远不会有效。

string

我已经创建了一个plnkr for you,您的示例正在运行。

答案 1 :(得分:1)

**这是我的解决方案:http://jsfiddle.net/jakeoblivion/phytdt9L/5/

(您需要自己的播放/暂停静音/取消静音图标)

  //load video muted
  var video = $("#myvideo");
  video.vimeo("play");
  video.vimeo("setVolume", 0);

    //toggle play/pause
  $('#play-pause').click(function() {
    $(this).toggleClass('play');
    if ($(this).hasClass('play')) {
      //pause video
      video.vimeo("pause");
      $(this).css('background', 'url("http://unclebarts.co.uk/wp-content/themes/bungabunga_bootstrap/img/video-controls/play.png") no-repeat');
    } else {
      //unpause video
      video.vimeo("play");
      $(this).css('background', 'url("http://unclebarts.co.uk/wp-content/themes/bungabunga_bootstrap/img/video-controls/pause.png") no-repeat');
    }
  });

  //toggle mute/unmute
  $('#mute-unmute').click(function() {
    $(this).toggleClass('mute');
    if ($(this).hasClass('mute')) {
      //unmute video
  video.vimeo("setVolume", 1);
      $(this).css('background', 'url("http://unclebarts.co.uk/wp-content/themes/bungabunga_bootstrap/img/video-controls/volume.png") no-repeat');

    } else {
      //mute video
  video.vimeo("setVolume", 0);
      $(this).css('background', 'url("http://unclebarts.co.uk/wp-content/themes/bungabunga_bootstrap/img/video-controls/mute.png") no-repeat');
    }
  });

花了很多年的努力,似乎没有任何工作。

我只是希望将Vimeo自动播放静音(音量0)与简单的播放/暂停静音/取消静音控制,而不是默认控制。

(如果您想要添加默认控件但保持静音,请删除&#34;?background = 1&#34;。默认情况下,background = 1会设置video.vimeo(&#34; setVolume&#34;, 0)并隐藏控件,所以我还在加载时添加了静音而没有设置background = 1。

另请注意:&#34;您需要在Web服务器上运行,而不是直接在浏览器中打开文件。 Flash和JS安全限制将阻止API在本地运行时工作。&#34;

http://www.taxidermyart.co.uk