#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);