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

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

20.08.2022, 18:28. Показов 1997. Ответов 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
Ответ Создать тему
Новые блоги и статьи
Воспроизведение звукового файла с помощью SDL3_mixer при касании экрана Android
8Observer8 26.01.2026
Содержание блога SDL3_mixer - это библиотека я для воспроизведения аудио. В отличие от инструкции по добавлению текста код по проигрыванию звука уже содержится в шаблоне примера. Нужно только. . .
Установка Android SDK, NDK, JDK, CMake и т.д.
8Observer8 25.01.2026
Содержание блога Перейдите по ссылке: https:/ / developer. android. com/ studio и в самом низу страницы кликните по архиву "commandlinetools-win-xxxxxx_latest. zip" Извлеките архив и вы увидите. . .
Вывод текста со шрифтом TTF на Android с помощью библиотеки SDL3_ttf
8Observer8 25.01.2026
Содержание блога Если у вас не установлены Android SDK, NDK, JDK, и т. д. то сделайте это по следующей инструкции: Установка Android SDK, NDK, JDK, CMake и т. д. Сборка примера Скачайте. . .
Использование SDL3-callbacks вместо функции main() на Android, Desktop и WebAssembly
8Observer8 24.01.2026
Содержание блога Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
моя боль
iceja 24.01.2026
Выложила интерполяцию кубическими сплайнами www. iceja. net REST сервисы временно не работают, только через Web. Написала за 56 рабочих часов этот сайт с нуля. При помощи perplexity. ai PRO , при. . .
Модель сукцессии микоризы
anaschu 24.01.2026
Решили писать научную статью с неким РОманом
http://iceja.net/ математические сервисы
iceja 20.01.2026
Обновила свой сайт http:/ / iceja. net/ , приделала Fast Fourier Transform экстраполяцию сигналов. Однако предсказывает далеко не каждый сигнал (см ограничения http:/ / iceja. net/ fourier/ docs ). Также. . .
http://iceja.net/ сервер решения полиномов
iceja 18.01.2026
Выкатила http:/ / iceja. net/ сервер решения полиномов (находит действительные корни полиномов методом Штурма). На сайте документация по API, но скажу прямо VPS слабенький и 200 000 полиномов. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru