Автозапуск MediaElementPlayer

Я хочу, чтобы при загрузке страницы веб-сайта автоматически воспроизводилось видео.

я ссылался на jquery.js, mediaelementplayer.js и mediaelementplayar.минута.css на моей странице и добавлен тег video.

Я пробовал так много способов, например autoplay = true и использовать код JavaScript, но я не мог заставить его работать.

Я использую BlogEngine.Net 2.0.

Как я могу это сделать?

11 ответов


это ошибка в MediaElementJS, автозапуск работает для native и silverlight, но нуждается в небольшой помощи со вспышкой.

вы можете слушать canPlay событие и начать играть, как только flash player будет готов.

setTimeout трюки могут потерпеть неудачу в условиях гонки.

$('#playerid').mediaelementplayer({
    plugins: ['flash', 'silverlight'],
    success: function(mediaElement, domObject) {
        if (mediaElement.pluginType == 'flash') {
            mediaElement.addEventListener('canplay', function() {
                // Player is ready
                mediaElement.play();
            }, false);
        }
    },
    error: function() {
        alert('Error setting media!');
    }
});

вы можете добавить до <video> тег, как показано ниже:

<video width="100%" height="auto" poster="some_image.jpg" controls="controls" 
    autoplay="true">

  <source type="video/mp4" src="myvideo.mp4" />
  <source type="video/webm" src="myvideo.webm" />
  <source type="video/ogg" src="myvideo.ogv" />
  <object width="320" height="240" type="application/x-shockwave-flash" data="flashmediaelement.swf">
    <param name="movie" value="flashmediaelement.swf" />
    <param name="flashvars" value="controls=true&file=myvideo.mp4" />
    <img src="myvideo.jpg" width="320" height="240" title="No video playback capabilities" />
  </object>
</video>

, чтобы воспроизвести его на всех браузерах/устройствах, вы можете использовать jQuery для ссылки на объект и называем его play() метод.

<script>  
     var player = new MediaElementPlayer('#id-of-player',/* Options */);
     player.play(); 
</script>

для получения дополнительной информации, вы можете проверить здесь.


Это может быть полезно.

$('audio,video').mediaelementplayer({
        success: function(player, node) {
        $('.mejs-overlay-button').trigger('click');
        }
});

// works here (tested with MediaElements.js 2.1.9)
$(document).ready(function () {
  $('video,audio').mediaelementplayer().load();
});

Если я не упущу момент, просто добавьте "автозапуск" в HTML5 video tag


var player = new MediaElementPlayer('video', {
    startVolume: 0.8,
    features: ['playpause','progress'],
    autoplay: true,
    audioWidth: 250,
    audioHeight: 40
    }
);


player.play();

просто создайте свой собственный объект и запустите его через play ();


хотя предложение user932056 не совсем сработало для меня, я использовал общую идею в верхней части моей страницы, которая, наконец, сработала:

<script type="text/javascript">
$(document).ready(function() {
   $("div.mejs-container .mejs-button").trigger('click');
});
</script>

вот код, который я написал и работает для меня в HTML5 Видео случаях и для flash player тоже;

$('video,audio').mediaelementplayer({
   mode: 'auto_plugin',
   defaultVideoWidth: 480, 
   defaultVideoHeight: 360,
   success: function (me) {
      whenPlayerReadyToPlay(me, function () {
         me.play();
      })
   }
});

function whenVideoReadyToPlay(me, callback) {
   if (me.pluginType !== 'flash') {
      me.addEventListener('loadstart', function (e) {
         callback();
      }, false);

      return;
   }

   if (me.attributes.preload === 'none') {
      $(me.pluginElement).ready(function (e) {
         callback();
      });
   }
   else {
      me.addEventListener('canplay', function (e) {
         callback();
      }, false);
   }
}

вот код:

$(document).ready(function () {

        $('video,audio').mediaelementplayer({ defaultVideoWidth: 480, defaultVideoHeight: 360 });

        setTimeout('eventClickTrigger()', 1000);
    });

    function eventClickTrigger() {

        $('.mep-overlay').trigger('click');
    }

просто, но заняло у меня неделю


вот самый простой способ я знаю. Я не уверен, что это то, что вы ищете, но если мое понимание вашего вопроса правильное, это сработало для меня. Я использую MediaElement 2.9.4.

<script>
    MediaElement('player1', {success: function(me) {    
    me.play();
    }});
</script>

или вы могли бы поставить автозапуск и/или preload="auto" до <video> тег, на который ссылается jQuery выше.