Vimeo player.play() не запускает проигрыватель

Метод Vimeo play() не работает, и объект проигрывателя не определен, когда я пытаюсь зарегистрировать его с консоли.

Я инициализирую проигрыватель vimeo на своей странице следующим образом:

<div id="myVideo"></div>    

var options = {
    url: "https://vimeo.com/showcase/xxxxxxx",
    width: window.innerWidth,
    height: window.innerHeight,
    autoplay: true,
    autopause: false,
    loop: true,
    muted: true,
    background: 1
};

var videoPlayer = new Vimeo.Player('myVideo', options);

затем я делаю журнал консоли в своем коде

  $(document).ready(
  function(){  
    console.log(videoPlayer);
    videoPlayer.play(); 
 });

console.log(videoPlayer) отлично работает здесь и печатает объект, но videoPlayer.play(); ничего не делает. Когда я пытаюсь выполнить console.log(videoPlayer) из консоли браузера, я получаю Uncaught ReferenceError: videoPlayer не определен. Я пытаюсь запустить видео прямо из JS, потому что автовоспроизведение вообще не работает.

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


person Игорь Быстревский    schedule 15.10.2019    source источник
comment
Можете ли вы поделиться своим кодом? У меня отлично работает метод play: codepen.io/JokerNN/pen/MWWyPBY . Также убедитесь, что автовоспроизведение включено пользователем. В противном случае браузер просто заблокирует автовоспроизведение.   -  person Andrey    schedule 15.10.2019
comment
Вот и весь мой код, относящийся к видеоплееру. Возможно ли, что проблема связана с использованием витрины вместо одного видео? Однако, как я уже сказал, проигрыватель инициализируется нормально, я могу видеть весь плейлист.   -  person Игорь Быстревский    schedule 15.10.2019
comment
Для player.js вам нужно будет предоставить одно видео @ИгорьБыстревский   -  person frobinsonj    schedule 15.10.2019
comment
Что делать, если мне нужно много видео для воспроизведения в виде плейлиста? Создать новый объект игрока для каждого видео? @frobinsonj   -  person Игорь Быстревский    schedule 15.10.2019
comment
Боюсь, они не поддерживают такие API, как play для витрин: github.com/vimeo /player.js/issues/457   -  person Andrey    schedule 15.10.2019
comment
Возможный дубликат Vimeo javascript api player.play() не воспроизводится   -  person weegee    schedule 16.10.2019
comment
Не было ответа, который помог бы мне. Также в моем вопросе я столкнулся с проблемой, что я не могу получить доступ к объекту игрока из консоли браузера после загрузки страницы @weegee   -  person Игорь Быстревский    schedule 16.10.2019


Ответы (2)


Попробуйте инициализировать переменную внутри функции document.ready:

  $(document).ready(
  function(){  
    var videoPlayer = new Vimeo.Player('myVideo', options);
    videoPlayer.play(); 
 });
person Guilherme Martin    schedule 15.10.2019
comment
Каков ваш результат при попытке: document.getElementById('myVideo') - person Guilherme Martin; 15.10.2019
comment
Он возвращает ‹div id=myVideo›‹/div› в консоли. - person Игорь Быстревский; 15.10.2019

Ну, в конце концов, я просто использовал отдельные видео и переключал их через js. Витрины не поддерживают многие функции, которые можно использовать с отдельными видео. Я все еще не могу получить доступ к объекту игрока из консоли. Но, по крайней мере, метод play() теперь работает, так как я инициализирую его идентификатором видео вместо URL-адреса.

  var options = {
    id: xxxxxxxxx,
    width: window.innerWidth,
    height: window.innerHeight,
    muted: true,
};
person Игорь Быстревский    schedule 16.10.2019
comment
Можете ли вы поделиться кодом JavaScript для переключения между отдельными видео? - person miguelmorin; 25.02.2021