<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/lastest/win32/axvlc.cab" width="640" height="480" id="vlc" events="True"> <param name="Src" value="" /> <param name="ShowDisplay" value="True" /> <param name="Loop" 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=1"); 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>