Как отключить автовоспроизведение для локального видео в iframe

Как отключить автоматическое воспроизведение видео, когда src находится с моего локального компьютера?

<iframe width="465" height="315" src="videos/example.mp4"></iframe>

Я пробовал следующее, но это не работает:

  • src="videos/example.mp4?autoplay=0"
  • src="videos/example.mp4?autoplay=false"
  • src="videos/example.mp4?autostart=0"
  • src="videos/example.mp4?autostart=false"

person Taleb    schedule 12.08.2015    source источник


Ответы (10)


Если вы используете HTML5, для этой цели подходит тег Video.

Вы можете использовать тег видео таким образом, чтобы не было автовоспроизведения:

<video width="320" height="240" controls>
    <source src="videos/example.mp4" type="video/mp4">
</video>

Чтобы включить автовоспроизведение,

<video width="320" height="240" controls autoplay>
    <source src="videos/example.mp4" type="video/mp4">
</video>
person Abhishek    schedule 12.08.2015
comment
Любое объяснение отрицательного голосования за мой ответ? - person Abhishek; 12.08.2015
comment
Почему эта первая часть вообще сработает? Однако мне нравится ваше предложение видео-тега. - person huysentruitw; 12.08.2015
comment
спасибо за полезный ответ, как я могу отобразить первый кадр видео, теперь он выглядит как кнопка воспроизведения посередине с серым фоном - person Taleb; 12.08.2015
comment
@Taleb: Я использую Google Chrome, и он показывает мне первый кадр, когда элемент управления плеером находится под видео. Какой браузер вы используете? Проверьте эту ссылку один раз. w3schools.com/tags/tryit.asp?filename=tryhtml5_video_autoplay - person Abhishek; 12.08.2015
comment
@Taleb, вы можете установить рамку плаката в теге <video> - person Andrew Hedges; 10.11.2019

Попробуйте этот код, чтобы отключить автоматическое воспроизведение видео.

Это работает . Пожалуйста, проголосуйте, если вы закончили с этим

<div class="embed-responsive embed-responsive-16by9">
    <video controls="true" class="embed-responsive-item">
      <source src="example.mp4" type="video/mp4" />
    </video>
</div>
person Guru    schedule 22.11.2018

если вам по-прежнему нужно использовать iframe, добавьте песочницу

<iframe width="465" height="315" src="videos/example.mp4" sandbox></iframe>
person DAYdenisov    schedule 28.04.2021

Что вы думаете о теге video? Если вам не нужно использовать тег iframe, вы можете использовать вместо него тег video.

<video width="500" height="345" src="hey.mp4"  />

Вы не должны использовать атрибут autoplay в теге video для отключения автовоспроизведения.

person Mindsers    schedule 12.08.2015

Замените iframe на это:

<video class="video-fluid z-depth-1" loop controls muted>
  <source src="videos/example.mp4" type="video/mp4" />
</video>
person Juan Pablo Venditti    schedule 27.02.2019

Просто замените

<iframe width="465" height="315" src="videos/example.mp4"></iframe>

by

<video src="videos/example.mp4" controls></video>

Вот пример использования начальной загрузки 4:

 <div class="embed-responsive embed-responsive-4by3">
      <video src="videos/example.mp4" controls></video>
 </div>
person Monique Schreiner    schedule 29.05.2020

Вы можете установить источник проигрывателя как пустую строку при загрузке страницы, таким образом вам не нужно переключаться на тег video.

var player = document.getElementById("video-player");
player.src = "";

Если вы хотите воспроизвести видео, просто измените его атрибут src, например:

function play(source){
   player.src = source;
}
person Yuanchun    schedule 12.12.2017

Я перепробовал все возможные решения, но ничего не помогло с привязкой локального видео. Я считаю, что лучшим решением было бы исправить с помощью jQuery, если вы все еще хотите использовать фреймы.

$(document).ready(function () {
    var ownVideos = $("iframe");
    $.each(ownVideos, function (i, video) {                
        var frameContent = $(video).contents().find('body').html();
        if (frameContent) {
            $(video).contents().find('body').html(frameContent.replace("autoplay", ""));
        }
    });
});

Примечание. Он найдет все готовые фреймы в документе, перебирает содержимое каждого фрейма и заменяет / удаляет атрибут autoplay. Это решение можно использовать в любом месте вашего проекта. Если вы хотите сделать для определенного элемента, используйте код функции $.each и замените $(video) идентификатором вашего элемента iframe, например $("#myIFrameId").

person immayankmodi    schedule 08.08.2018

Попробуй.

src="videos/example.mp4?autoplay=1"
person pankaz20    schedule 12.06.2021
comment
Хотя этот код может решить вопрос, включая объяснение того, как и почему это решает проблему, действительно поможет улучшить качество вашего пост, и, вероятно, приведет к большему количеству голосов. Помните, что вы отвечаете на вопрос для будущих читателей, а не только для человека, который задает его сейчас. Пожалуйста, отредактируйте свой ответ, чтобы добавить пояснения и указать, какие ограничения и предположения применяются. - person Yunnosch; 12.06.2021

<iframe width="420" height="315"
    src="https://www.youtube.com/embed/aNOgO7aNslo?rel=0">
</iframe>

Вы должны поместить символы ?rel=0 после уникальной ссылки на видео YouTube и перед цитатами. это сработало для меня

person How2Zumba    schedule 21.02.2017
comment
Он написал локальный файл. При чем тут YouTube? - person t_b_b; 23.10.2017