Форум программистов, компьютерный форум, киберфорум
JavaScript
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.63/8: Рейтинг темы: голосов - 8, средняя оценка - 4.63
2 / 1 / 1
Регистрация: 20.08.2022
Сообщений: 50

Как переделать скрипт с ютуба на рутуб

20.08.2022, 18:28. Показов 2039. Ответов 1
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Всем привет.
Есть скрипт, который запускает видео на ютубе в указанное время. Т.е. если указать время запуска например в 12.00, а человек зашёл на сайт в 12.10 и запустит видео, то он начнёт смотреть видео с 10 минуты.
Вообщим, скрипт нормально работает с ютубом, но нужно, чтобы он также работал с рутубом, кто знает как это сделать, буду очень благодарен...
HTML5
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Воспроизведение видео на сайте по расписанию</title>
</head>
<body>
    <div id="player"></div>
    <div>
        <button type="button" id="start">start</button>
        <button type="button" id="stopp">stop</button>
    </div>
    <script type="text/javascript"></script>
    <script>
            var start_time = '12:54';
            var end_time = '23:52';
            start_time = start_time.split(':');
            end_time = end_time.split(':');
 
            var tag = document.createElement('script');
            tag.src = "https://www.youtube.com/iframe_api";
            var firstScriptTag = document.getElementsByTagName('script')[0];
            firstScriptTag.parentNode.insertBefore(tag, firstScriptTag);
 
            var player;
            function onYouTubeIframeAPIReady() {
                player = new YT.Player('player', {
                    height: '315',
                    width: '560',
                    videoId: 'yXlBZ0JNpVM',
                    events: {
                        'onReady': onPlayerReady,
                        'onStateChange': onPlayerStateChange
                    }
                });
            }
            
            function onPlayerReady(event) {
                    start.onclick = function() {
                        event.target.playVideo();
                    };
            }
 
            var jump = false;
            function onPlayerStateChange(event) {
                if (event.data == YT.PlayerState.PLAYING && !jump) {
                    player.seekTo(getSeconds());
                    jump = true;
                }
            }
            function stopVideo() {
                player.stopVideo();
            }
            stopp.onclick = function() {
                stopVideo();
            };
 
            var d = new Date();
            var h = d.getHours();
            var m = d.getMinutes();
            function getSeconds() {
                if (h > end_time[0] || h == end_time[0] && m > end_time[1]) return 0;
                if (h >= start_time[0]) {
                    var time_now = d;
                    var time_start = new Date(d.getFullYear(), d.getMonth(), d.getDate(), start_time[0], start_time[1]);
                    var time_end = new Date(d.getFullYear(), d.getMonth(), d.getDate(), end_time[0], end_time[1]);
                    return ((time_end - time_start) - (time_end - time_now)) / 1000;
                }
                return 0;
            }
 
    </script>
</body>
</html>
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
20.08.2022, 18:28
Ответы с готовыми решениями:

Скрипт вставки видео с ютуба
Добрый вечер понадобился скрипт вставки видео с ютуба а не навоков не знаний нет в этом деле проршу помощи за ранее блогодарен

Создаю скрипт для скачивания аудио дорожки из видео с Ютуба
Мальчики, привет. Нужна помощь:help: :есть код на Python, который должен скачивать аудио дорожку из видео с Ютуба. На сколько я поняла,...

Как переделать js скрипт на php?
Здравствуйте. Есть вот такой js скрипт https://jsfiddle.net/j7nquh3t/4/ . &lt;input type=&quot;text&quot; class=&quot;start&quot;...

1
 Аватар для evikza
968 / 530 / 244
Регистрация: 20.05.2015
Сообщений: 776
21.08.2022, 19:05
stat007, здравствуйте. Заставить работать данный скрипт для другой платформы не представляет возможности.

Но, можно написать обертку для плеера Rutube, всё управление плеером — запуск, пауза, остановка осуществляется при помощи интерфейса postMessage. По этому принципу и работает Youtube Iframe API. Но, для Rutube Вы вряд ли что-то найдете. От слова совсем.

Набросал оберточку, схожую с Youtube, включающая Ваши нужды:

Исполняемый файл, который создает элемент и следит за состояние плеера:

rt.js
JavaScript
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
const Rutube = function () {
  const EMBEDED_API_URI = '//rutube.ru/play/embed/';
  const PREFFIX_PLAYER_ID = 'rt-';
 
  this.Player = function (selector, config) {
    if (!selector) {
      throw new Error('The Player element must be specified.');
    }
 
    this.selector = selector;
    this.config = config;
 
    return this.renderOnPage();
  };
 
  this.renderOnPage = function () {
    const element = document.createElement('iframe');
 
    for (let property in (options = {
      id: PREFFIX_PLAYER_ID + this.selector,
      width: this.config.width || 720,
      height: this.config.height || 405,
      src: EMBEDED_API_URI + this.config.videoId,
      frameBorder: 0,
      allow: 'autoplay',
    })) {
      element[property] = options[property];
    }
 
    document.getElementById(this.selector).appendChild(element);
  };
 
  this.checkPlayerState = function (event) {
    if (!this.config.events) return;
 
    const { onStateChange } = this.config.events;
 
    if (onStateChange) {
      return onStateChange(event);
    }
  };
 
  for (let [iterator, type] of Object.entries({
    play: 'play',
    pause: 'pause',
    stop: 'stop',
    seekTo: 'setCurrentTime',
  })) {
    this[iterator] = function (data = {}) {
      document
        .getElementById(PREFFIX_PLAYER_ID + this.selector)
        .contentWindow.postMessage(
          JSON.stringify({
            type: 'player:' + type,
            data: data,
          }),
          '*'
        );
    };
  }
 
  window.addEventListener(
    'message',
    function (event) {
      const receivedMessage = JSON.parse(event.data);
 
      switch (receivedMessage.type) {
        case 'player:changeState':
          this.checkPlayerState(receivedMessage.data.state);
 
          break;
      }
    }.bind(this),
    0
  );
};


Вызов плеера схож с тем, что в Вашем примере:

JavaScript
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
const rt = new Rutube();
 
let jumpToSeek = false;
 
rt.Player('player', {
  width: 560,
  height: 315,
  videoId: '6e5e06ad0f3104ae47fb0f69d2198855',
  events: {
    onStateChange: onPlayerStateChange,
  },
});
 
function onPlayerStateChange(event) {
  if (event === 'playing' && !jumpToSeek) {
    rt.seekTo({ time: 34 });
 
    jumpToSeek = true;
  }
}
Доступные методы для работы с плеером:

play()
Начать проигрывание видео
pause()
Поставить видео на паузу
stop()
Закончить цикл проигрывания
seekTo()
Переход к определенной секунде видео

А что касается Вашего варианта расчет времени в диапазоне дат — у меня вообще ничего не работало из Вашего примера. Но, я и не вдавался в подробности.
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
21.08.2022, 19:05
Помогаю со студенческими работами здесь

Подскажите как переделать скрипт
Всем привет ! Подскажите как переделать этот скрипт ,чтобы к примеру после запуска файла &quot;ZaxarGameBrowser.exe&quot; стартовал звук...

Как переделать ajax скрипт?
Здравствуйте, помогите с ajax скриптом, у меня есть скрипт на js &lt;script type=&quot;text/javascript&quot;...

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

Как переделать скрипт для массива
Пример: есть 2 строки (по 3 поля в каждой): &lt;tr&gt;&lt;input type=&quot;number&quot; id=&quot;val1&quot; value=&quot;0&quot; /&gt; + &lt;input type=&quot;number&quot;...

Как переделать скрипт под мобильные устройства?
Всем привет, я пытаюсь сделать что то типо арканоида, но у меня не получается реализовать управление с помощью touch. Как решить данную...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Новые блоги и статьи
Настройки VS Code
Loafer 13.04.2026
{ "cmake. configureOnOpen": false, "diffEditor. ignoreTrimWhitespace": true, "editor. fontSize": 18, "editor. guides. bracketPairs": "active", "extensions. ignoreRecommendations":. . .
Оптимизация кода на разграничение прав доступа к элементам формы
Maks 13.04.2026
Алгоритм из решения ниже реализован на нетиповом документе, разработанного в конфигурации КА2. Задачи, как таковой, поставлено не было, проделанное ниже исключительно моя инициатива. Было так:. . .
Контроль заполнения и очистка дат в зависимости от значения перечислений
Maks 12.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеПерсонала", разработанного в конфигурации КА2. Задача: реализовать контроль корректности заполнения дат назначения. . .
Архитектура слоя интернета для сервера-слоя.
Hrethgir 11.04.2026
В продолжение https:/ / www. cyberforum. ru/ blogs/ 223907/ 10860. html Знаешь что я подумал? Раз мы все источники пишем в голове ветки, то ничего не мешает добавить в голову такой источник, который сам. . .
Подстановка значения реквизита справочника в табличную часть документа
Maks 10.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеПерсонала", разработанного в конфигурации КА2. Задача: при выборе сотрудника (справочник Сотрудники) в ТЧ документа. . .
Очистка реквизитов документа при копировании
Maks 09.04.2026
Алгоритм из решения ниже применим как для типовых, так и для нетиповых документов на самых различных конфигурациях. Задача: при копировании документа очищать определенные реквизиты и табличную. . .
модель ЗдравоСохранения 8. Подготовка к разному выполнению заданий
anaschu 08.04.2026
https:/ / github. com/ shumilovas/ med2. git main ветка * содержимое блока дэлэй из старой модели теперь внутри зайца новой модели 8ATzM_2aurI
Блокировка документа от изменений, если он открыт у другого пользователя
Maks 08.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа, разработанного в конфигурации КА2. Задача: запретить редактирование документа, если он открыт у другого пользователя. / / . . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru