Автоматически открывать URL-адрес после завершения работы файла avi моего медиаплеера

#html #avi

#HTML #avi

Вопрос:

Я хочу автоматически открывать URL-адрес на той же странице после завершения работы файла avi моего медиаплеера, и вот мой код:

 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html>
<head>
  <title>WELCOME TO LOTUS TENDA WEBSITE</title>
</head>
<body bgcolor="#000000">
<br><br>
<table border="0" align=center>
   <tr>
     <td> 
     <object id="MediaPlayer1" CLASSID="CLSID:22d6f312-b0f6-11d0-94ab-0080c74c7e95" codebase="http://activex.microsoft.com/activex/controls/mplayer/en/nsmp2inf.cab#Version=5,1,52,701"

standby="Loading Microsoft Windows® Media Player components..." type="application/x-oleobject" width="890" height="500">
<param name="fileName" value="intro.avi">
<param name="animationatStart" value="true">
<param name="transparentatStart" value="true">
<param name="autoStart" value="true">
<param name="showControls" value="false">
<param name="Volume" value="-450">
<embed type="application/x-mplayer2" 
pluginspage="http://www.microsoft.com/Windows/MediaPlayer/" src="intro.avi" 
name="MediaPlayer1" width=890 height=500 autostart=1 showcontrols=0 volume=-450>
</object>
     </td>
       </tr>
 </table>
</body>
</html>
 

Комментарии:

1. Не могли бы вы показать полный код, пожалуйста?

2. я уже отправил свой код… пожалуйста, помогите

3. это срочно… уже показанный код

4. Я не знаю, есть ли у них какие-либо функции обратного вызова (события) <object> , но если вы используете новый HTML5 <video> , есть onended ! -> Пример . Кстати, добро пожаловать в Stack Overflow!!

5. спасибо мастеру теней, код сработал для меня

Ответ №1:

Это можно сделать с помощью JavaScript, выбрав PlayState свойство объекта. Из быстрого теста, который я провел, это будет 2 до начала воспроизведения видео, 3 во время воспроизведения и 0, когда воспроизведение видео завершено.

Добавьте это в свой <head> раздел:

 <script type="text/javascript">
window.onload = function() {
    var oVid = document.getElementById("MediaPlayer1");
    window.setTimeout(function CheckVidState() {
        if (oVid.PlayState == 0) {
            document.location = "OtherPage.html";
            return true;
        }
        window.setTimeout(CheckVidState, 10);
        return false;
    }, 10);
};
</script>
 

Это перенаправит пользователя на OtherPage.html когда видео закончит воспроизведение.

Комментарии:

1. Почему вы не используете window.setInterval(function(){}, 10) ?

2. @ComFreek потому что отменить этот таймер сложнее — вместо этого я просто снова «вызываю себя», если это необходимо.

3. я новичок в кодировании, не могли бы вы, пожалуйста, прислать мне полный код, и я его отредактирую

4. Это полный код, если вам нужен кто-то, кто сделает все за вас, я боюсь, что ваш единственный вариант — нанять программиста. Удачи вам.

5. В таком случае измените строку document.location = "OtherPage.html"; на эту: window.setTimeout(function() { document.location = "OtherPage.html"; }, 2000); и она будет ждать две секунды перед перенаправлением.

Ответ №2:

 setInterval(function () {
                if ($("MediaPlayer1")[0].playState == 1) {
                    $("MediaPlayer1")[0].URL = "nextVideo.wmv";
                }
            }, 100);