2 <TITLE>VLC ActiveX plugin test page</TITLE>
\r
7 <INPUT size="90" id="targetTextField" value="">
\r
8 <INPUT type=submit value="Go" onClick="doGo(document.getElementById('targetTextField').value);">
\r
10 <TR><TD colspan="2">
\r
12 Insert VideoLAN.VLCPlugin.2 activex control
\r
14 <OBJECT classid="clsid:9BE31822-FDAD-461B-AD51-BE1D1C159921"
\r
15 codebase="http://downloads.videolan.org/pub/videolan/vlc/latest/win32/axvlc.cab#Version=0,8,6,0"
\r
20 <param name="MRL" value="" />
\r
21 <param name="ShowDisplay" value="True" />
\r
22 <param name="AutoLoop" value="False" />
\r
23 <param name="AutoPlay" value="False" />
\r
24 <param name="Volume" value="50" />
\r
25 <param name="StartTime" value="0" />
\r
30 Insert MSComctlLib.Slider.2 activex control
\r
32 <OBJECT classid="clsid:F08DF954-8592-11D1-B16A-00C0F0283628"
\r
37 <param name="TickStyle" value="3" />
\r
38 <param name="Min" value="0" />
\r
39 <param name="Max" value="0" />
\r
40 <param name="Value" value="0" />
\r
41 <param name="Enabled" value="False" />
\r
43 </TD><TD width="15%">
\r
44 <DIV id="info" style="text-align:center">-:--:--/-:--:--</DIV>
\r
46 <TR><TD colspan="2">
\r
47 <INPUT type=button id="PlayOrPause" value=" Play " onClick='doPlayOrPause();'>
\r
48 <INPUT type=button value="Stop" onClick='doStop();'>
\r
50 <INPUT type=button value=" << " onClick='doPlaySlower();'>
\r
51 <INPUT type=button value=" >> " onClick='doPlayFaster();'>
\r
53 <INPUT type=button value="Show" onClick='document.getElementById("vlc").Visible = true;'>
\r
54 <INPUT type=button value="Hide" onClick='document.getElementById("vlc").Visible = false;'>
\r
56 <INPUT type=button id="VersionBut" value="Version" onClick='alert(document.getElementById("vlc").VersionInfo);'>
\r
57 <SPAN style="text-align:center">Volume:</SPAN>
\r
58 <INPUT type=button value=" - " onClick='updateVolume(-10)'>
\r
59 <SPAN id="volumeTextField" style="text-align: center">--</SPAN>
\r
60 <INPUT type=button value=" + " onClick='updateVolume(+10)'>
\r
61 <INPUT type=button value="Mute" onClick='document.getElementById("vlc").audio.toggleMute();'>
\r
65 <SCRIPT language="javascript">
\r
69 var monitorTimerId = 0;
\r
70 var sliderScrolling = false;
\r
72 function updateVolume(deltaVol)
\r
74 var vlc = document.getElementById("vlc");
\r
75 vlc.audio.volume += deltaVol;
\r
76 document.getElementById("volumeTextField").innerHTML = vlc.audio.volume+"%";
\r
78 function formatTime(timeVal)
\r
80 var timeHour = Math.round(timeVal / 1000);
\r
81 var timeSec = timeHour % 60;
\r
83 timeSec = '0'+timeSec;
\r
84 timeHour = (timeHour - timeSec)/60;
\r
85 var timeMin = timeHour % 60;
\r
87 timeMin = '0'+timeMin;
\r
88 timeHour = (timeHour - timeMin)/60;
\r
90 return timeHour+":"+timeMin+":"+timeSec;
\r
92 return timeMin+":"+timeSec;
\r
96 var vlc = document.getElementById("vlc");
\r
97 var newState = vlc.input.state;
\r
98 if( prevState != newState )
\r
100 if( newState == 0 )
\r
102 // current media has stopped
\r
105 else if( newState == 1 )
\r
107 // current media is openning/connecting
\r
110 else if( newState == 2 )
\r
112 // current media is buffering data
\r
115 else if( newState == 3 )
\r
117 // current media is now playing
\r
120 else if( vlc.input.state == 4 )
\r
122 // current media is now paused
\r
125 prevState = newState;
\r
127 else if( newState == 3 )
\r
129 // current media is playing
\r
132 monitorTimerId = setTimeout("monitor()", 1000);
\r
137 function doGo(targetURL)
\r
139 var vlc = document.getElementById("vlc");
\r
140 var options = new Array(":vout-filter=deinterlace", ":deinterlace-mode=linear");
\r
141 vlc.playlist.clear();
\r
142 vlc.playlist.add(targetURL, null, options);
\r
143 vlc.playlist.play();
\r
144 if( monitorTimerId == 0 )
\r
149 function doPlayOrPause()
\r
151 var vlc = document.getElementById("vlc");
\r
152 if( vlc.playlist.isPlaying )
\r
154 vlc.playlist.togglePause();
\r
158 vlc.playlist.play();
\r
159 if( monitorTimerId == 0 )
\r
167 document.getElementById("vlc").playlist.stop();
\r
168 if( monitorTimerId != 0 )
\r
170 clearTimeout(monitorTimerId);
\r
171 monitorTimerId = 0;
\r
175 function doPlaySlower()
\r
177 var vlc = document.getElementById("vlc");
\r
178 vlc.input.rate = vlc.input.rate / 2;
\r
180 function doPlayFaster()
\r
182 var vlc = document.getElementById("vlc");
\r
183 vlc.input.rate = vlc.input.rate * 2;
\r
190 document.getElementById("info").innerHTML = "Opening...";
\r
191 document.getElementById("PlayOrPause").value = "Pause";
\r
193 function onBuffer()
\r
195 document.getElementById("info").innerHTML = "Buffering...";
\r
196 document.getElementById("PlayOrPause").value = "Pause";
\r
201 document.getElementById("PlayOrPause").value = "Pause";
\r
203 var liveFeedText = new Array("Live", "((Live))", "(( Live ))", "(( Live ))");
\r
204 var liveFeedRoll = 0;
\r
205 function onPlaying()
\r
207 if( ! sliderScrolling )
\r
209 var slider = document.getElementById("slider");
\r
210 if( vlc.input.length > 0 )
\r
213 slider.Enabled = true;
\r
214 slider.Max = vlc.input.length/1000;
\r
215 slider.Value = vlc.input.time/1000;
\r
216 info.innerHTML = formatTime(vlc.input.time)+"/"+formatTime(vlc.input.length);
\r
220 // non-seekable "live" media
\r
221 if( slider.Enabled )
\r
223 slider.Value = slider.Min;
\r
224 slider.Enabled = false;
\r
226 liveFeedRoll = liveFeedRoll & 3;
\r
227 info.innerHTML = liveFeedText[liveFeedRoll++];
\r
233 document.getElementById("PlayOrPause").value = " Play ";
\r
237 if( slider.Enabled )
\r
239 slider.Value = slider.Min;
\r
240 slider.Enabled = false;
\r
242 document.getElementById("info").innerHTML = "-:--:--/-:--:--";
\r
243 document.getElementById("PlayOrPause").value = " Play ";
\r
247 <SCRIPT language="JScript">
\r
250 document.onreadystatechange=onVLCStateChange;
\r
251 function onVLCStateChange()
\r
253 if( document.readyState == 'complete' )
\r
258 function slider::Scroll()
\r
260 var newPos = slider.Value * 1000;
\r
261 var vlc = document.getElementById("vlc");
\r
262 slider.Text = formatTime(newPos);
\r
263 info.innerHTML = slider.Text+"/"+formatTime(vlc.input.length);
\r
264 if( (vlc.input.state == 3) && (vlc.input.time != newPos) )
\r
266 vlc.input.time = newPos;
\r
268 sliderScrolling = true;
\r
270 function slider::Change()
\r
272 var newPos = slider.Value * 1000;
\r
273 if( sliderScrolling )
\r
275 sliderScrolling = false;
\r
277 else if( (vlc.input.state == 3) && (vlc.input.time != newPos) )
\r
279 vlc.input.time = newPos;
\r