mirror of
https://code.videolan.org/videolan/vlc
synced 2024-07-29 11:58:24 +02:00
![Damien Fouilleul](/assets/img/avatar_default.png)
added persistent properties such as MRL, AutoPlay, AutoLoop which allows a user to play a default target without programming.
190 lines
4.7 KiB
HTML
190 lines
4.7 KiB
HTML
<HTML>
|
|
<TITLE>VLC ActiveX plugin test page</TITLE>
|
|
<BODY>
|
|
<TABLE>
|
|
<TR><TD colspan="2">
|
|
MRL:
|
|
<INPUT size="90" name="targetTextField" value="">
|
|
<INPUT type=submit value="Go" onClick="doGo(targetTextField.value);">
|
|
</TD></TR>
|
|
<TR><TD colspan="2">
|
|
<!--
|
|
Insert VideoLAN.VLCPlugin.1 activex control
|
|
-->
|
|
<OBJECT classid="clsid:E23FE9C6-778E-49D4-B537-38FCDE4887D8" codebase="http://downloads.videolan.org/pub/videolan/vlc/latest/win32/axvlc.cab"
|
|
width="640" height="480" id="vlc" events="True">
|
|
<param name="MRL" value="" />
|
|
<param name="ShowDisplay" value="True" />
|
|
<param name="AutoLoop" value="False" />
|
|
<param name="AutoPlay" value="False" />
|
|
</OBJECT>
|
|
</TD></TR>
|
|
<TR><TD>
|
|
<!--
|
|
Insert MSComctlLib.Slider.2 activex control
|
|
-->
|
|
<OBJECT classid="clsid:F08DF954-8592-11D1-B16A-00C0F0283628"
|
|
width="540" height="20" id="slider" events="True">
|
|
<param name="TickStyle" value="3" />
|
|
<param name="Min" value="0" />
|
|
<param name="Max" value="0" />
|
|
<param name="Value" value="0" />
|
|
<param name="Enabled" value="False" />
|
|
</OBJECT>
|
|
</TD><TD width="15%">
|
|
<DIV id="info" style="text-align:center">-:--:--/-:--:--</DIV>
|
|
</TD></TR>
|
|
<TR><TD colspan="2">
|
|
<INPUT type=button id="PlayOrPause" value=" Play " onClick='doPlayOrPause()'>
|
|
<INPUT type=button value="Stop" onClick='document.vlc.stop();'>
|
|
<INPUT type=button value=" << " onClick='document.vlc.playSlower();'>
|
|
<INPUT type=button value=" >> " onClick='document.vlc.playFaster();'>
|
|
<INPUT type=button value="Mute" onClick='document.vlc.toggleMute();'>
|
|
<INPUT type=button value="Show" onClick='document.vlc.Visible = true;'>
|
|
<INPUT type=button value="Hide" onClick='document.vlc.Visible = false;'>
|
|
<INPUT type=button value="Version" onClick='alert(document.vlc.VersionInfo);'>
|
|
</TD></TR>
|
|
</TABLE>
|
|
<SCRIPT LANGUAGE="JScript">
|
|
<!--
|
|
var sliderTimerId = 0;
|
|
var sliderScrolling = false;
|
|
|
|
function formatTime(timeVal)
|
|
{
|
|
var timeHour = timeVal;
|
|
var timeSec = timeHour % 60;
|
|
if( timeSec < 10 )
|
|
timeSec = '0'+timeSec;
|
|
timeHour = (timeHour - timeSec)/60;
|
|
var timeMin = timeHour % 60;
|
|
if( timeMin < 10 )
|
|
timeMin = '0'+timeMin;
|
|
timeHour = (timeHour - timeMin)/60;
|
|
if( timeHour > 0 )
|
|
return timeHour+":"+timeMin+":"+timeSec;
|
|
else
|
|
return timeMin+":"+timeSec;
|
|
};
|
|
function onPlay()
|
|
{
|
|
document.getElementById("PlayOrPause").value = "Pause";
|
|
};
|
|
function onPause()
|
|
{
|
|
document.getElementById("PlayOrPause").value = " Play ";
|
|
};
|
|
function onStop()
|
|
{
|
|
if( slider.Enabled )
|
|
{
|
|
slider.Value = slider.Min;
|
|
slider.Enabled = false;
|
|
}
|
|
info.innerText = "-:--:--/-:--:--";
|
|
document.getElementById("PlayOrPause").value = " Play ";
|
|
};
|
|
var liveFeedText = new Array("Live", "((Live))", "(( Live ))", "(( Live ))");
|
|
var liveFeedRoll = 0;
|
|
|
|
function doUpdate()
|
|
{
|
|
if( vlc.Playing )
|
|
{
|
|
if( ! sliderScrolling )
|
|
{
|
|
if( vlc.Length > 0 )
|
|
{
|
|
// seekable stream
|
|
slider.Enabled = true;
|
|
slider.Max = vlc.Length;
|
|
slider.Value = vlc.Time;
|
|
info.innerText = formatTime(vlc.Time)+"/"+formatTime(vlc.Length);
|
|
document.getElementById("PlayOrPause").Enabled = true;
|
|
}
|
|
else {
|
|
// non-seekable "live" stream
|
|
if( slider.Enabled )
|
|
{
|
|
slider.Value = slider.Min;
|
|
slider.Enabled = false;
|
|
}
|
|
liveFeedRoll = liveFeedRoll & 3;
|
|
info.innerText = liveFeedText[liveFeedRoll++];
|
|
}
|
|
}
|
|
sliderTimerId = setTimeout("doUpdate()", 1000);
|
|
}
|
|
else
|
|
{
|
|
onStop();
|
|
sliderTimerId = 0;
|
|
}
|
|
};
|
|
function doGo(targetURL)
|
|
{
|
|
var options = new Array(":input-repeat=0");
|
|
document.vlc.addTarget(targetURL, options, 4+8, -666);
|
|
};
|
|
function doPlayOrPause()
|
|
{
|
|
if( document.vlc.playing )
|
|
{
|
|
document.vlc.pause();
|
|
}
|
|
else
|
|
{
|
|
document.vlc.play();
|
|
}
|
|
};
|
|
function vlc::Play()
|
|
{
|
|
if( ! sliderTimerId )
|
|
{
|
|
sliderTimerId = setTimeout("doUpdate()", 1000);
|
|
}
|
|
onPlay();
|
|
};
|
|
function vlc::Pause()
|
|
{
|
|
if( sliderTimerId )
|
|
{
|
|
clearTimeout(sliderTimerId)
|
|
sliderTimerId = 0;
|
|
}
|
|
onPause();
|
|
};
|
|
function vlc::Stop()
|
|
{
|
|
if( sliderTimerId )
|
|
{
|
|
clearTimeout(sliderTimerId)
|
|
sliderTimerId = 0;
|
|
}
|
|
onStop();
|
|
};
|
|
function slider::Scroll()
|
|
{
|
|
slider.Text = formatTime(slider.Value);
|
|
info.innerText = slider.Text+"/"+formatTime(vlc.Length);
|
|
if( vlc.Time != slider.Value )
|
|
{
|
|
vlc.Time = slider.Value;
|
|
}
|
|
};
|
|
function slider::Change()
|
|
{
|
|
if( sliderScrolling )
|
|
{
|
|
sliderScrolling = false;
|
|
}
|
|
else if( vlc.Time != slider.Value )
|
|
{
|
|
vlc.Time = slider.Value;
|
|
}
|
|
};
|
|
//-->
|
|
</SCRIPT>
|
|
</BODY>
|
|
</HTML>
|