2 <TITLE>VLC ActiveX plugin test page
</TITLE>
7 <INPUT size=
"90" id=
"targetTextField" value=
"">
8 <INPUT type=submit
value=
"Go" onClick=
"doGo(document.getElementById('targetTextField').value);">
12 Insert VideoLAN.VLCPlugin.2 activex control
14 <OBJECT classid=
"clsid:9BE31822-FDAD-461B-AD51-BE1D1C159921"
15 codebase=
"http://downloads.videolan.org/pub/videolan/vlc/latest/win32/axvlc.cab#Version=0,8,6,0"
20 <param name=
"MRL" value=
"" />
21 <param name=
"ShowDisplay" value=
"True" />
22 <param name=
"AutoLoop" value=
"False" />
23 <param name=
"AutoPlay" value=
"False" />
24 <param name=
"Volume" value=
"50" />
25 <param name=
"StartTime" value=
"0" />
30 Insert MSComctlLib.Slider.2 activex control
32 <OBJECT classid=
"clsid:F08DF954-8592-11D1-B16A-00C0F0283628"
37 <param name=
"TickStyle" value=
"3" />
38 <param name=
"Min" value=
"0" />
39 <param name=
"Max" value=
"0" />
40 <param name=
"Value" value=
"0" />
41 <param name=
"Enabled" value=
"False" />
44 <DIV id=
"info" style=
"text-align:center">-:--:--/-:--:--
</DIV>
47 <INPUT type=button
id=
"PlayOrPause" value=
" Play " onClick='doPlayOrPause();'
>
48 <INPUT type=button
value=
"Stop" onClick='doStop();'
>
50 <INPUT type=button
value=
" << " onClick='doPlaySlower();'
>
51 <INPUT type=button
value=
" >> " onClick='doPlayFaster();'
>
53 <INPUT type=button
value=
"Show" onClick='document.getElementById(
"vlc").Visible = true;'
>
54 <INPUT type=button
value=
"Hide" onClick='document.getElementById(
"vlc").Visible = false;'
>
56 <INPUT type=button
id=
"VersionBut" value=
"Version" onClick='alert(document.getElementById(
"vlc").VersionInfo);'
>
57 <SPAN style=
"text-align:center">Volume:
</SPAN>
58 <INPUT type=button
value=
" - " onClick='updateVolume(-
10)'
>
59 <SPAN id=
"volumeTextField" style=
"text-align: center">--
</SPAN>
60 <INPUT type=button
value=
" + " onClick='updateVolume(+
10)'
>
61 <INPUT type=button
value=
"Mute" onClick='document.getElementById(
"vlc").audio.toggleMute();'
>
65 <SCRIPT language=
"javascript">
69 var monitorTimerId = 0;
70 var sliderScrolling = false;
71 var ignoreSliderChange = false;
73 function updateVolume(deltaVol)
75 var vlc = document.getElementById("vlc");
76 vlc.audio.volume += deltaVol;
77 document.getElementById("volumeTextField").innerHTML = vlc.audio.volume+"%";
79 function formatTime(timeVal)
81 var timeHour = Math.round(timeVal / 1000);
82 var timeSec = timeHour % 60;
84 timeSec = '0'+timeSec;
85 timeHour = (timeHour - timeSec)/60;
86 var timeMin = timeHour % 60;
88 timeMin = '0'+timeMin;
89 timeHour = (timeHour - timeMin)/60;
91 return timeHour+":"+timeMin+":"+timeSec;
93 return timeMin+":"+timeSec;
97 var vlc = document.getElementById("vlc");
98 var newState = vlc.input.state;
99 if( vlc.log.messages.count > 0 )
101 var iter = vlc.log.messages.iterator();
102 while( iter.hasNext )
104 var msg = iter.next();
107 vlc.log.messages.clear();
109 if( prevState != newState )
113 // current media has stopped
116 else if( newState == 1 )
118 // current media is openning/connecting
121 else if( newState == 2 )
123 // current media is buffering data
126 else if( newState == 3 )
128 // current media is now playing
131 else if( vlc.input.state == 4 )
133 // current media is now paused
136 prevState = newState;
138 else if( newState == 3 )
140 // current media is playing
143 monitorTimerId = setTimeout("monitor()", 1000);
148 function doGo(targetURL)
150 var vlc = document.getElementById("vlc");
151 var options = new Array(":vout=directx");
152 vlc.playlist.clear();
153 //vlc.playlist.add(targetURL, null, options);
154 vlc.playlist.add(targetURL);
156 vlc.log.verbosity = 3;
157 vlc.log.messages.clear();
158 if( monitorTimerId == 0 )
163 function doPlayOrPause()
165 var vlc = document.getElementById("vlc");
166 if( vlc.playlist.isPlaying )
168 vlc.playlist.togglePause();
172 vlc.log.messages.clear();
174 if( monitorTimerId == 0 )
182 document.getElementById("vlc").playlist.stop();
183 if( monitorTimerId != 0 )
185 clearTimeout(monitorTimerId);
190 function doPlaySlower()
192 var vlc = document.getElementById("vlc");
193 vlc.input.rate = vlc.input.rate / 2;
195 function doPlayFaster()
197 var vlc = document.getElementById("vlc");
198 vlc.input.rate = vlc.input.rate * 2;
205 document.getElementById("info").innerHTML = "Opening...";
206 document.getElementById("PlayOrPause").value = "Pause";
210 document.getElementById("info").innerHTML = "Buffering...";
211 document.getElementById("PlayOrPause").value = "Pause";
216 document.getElementById("PlayOrPause").value = "Pause";
218 var liveFeedText = new Array("Live", "((Live))", "(( Live ))", "(( Live ))");
219 var liveFeedRoll = 0;
222 if( ! sliderScrolling )
224 var slider = document.getElementById("slider");
225 if( vlc.input.length > 0 )
228 slider.Enabled = true;
229 slider.Max = slider.width;
230 ignoreSliderChange = true;
231 slider.Value = vlc.input.position*slider.width;
232 ignoreSliderChange = false;
233 document.getElementById("info").innerHTML = formatTime(vlc.input.time)+"/"+formatTime(vlc.input.length);
237 // non-seekable "live" media
240 slider.Value = slider.Min;
241 slider.Enabled = false;
243 liveFeedRoll = liveFeedRoll & 3;
244 document.getElementById("info").innerHTML = liveFeedText[liveFeedRoll++];
250 document.getElementById("PlayOrPause").value = " Play ";
254 vlc.log.verbosity = -1;
257 slider.Value = slider.Min;
258 slider.Enabled = false;
260 document.getElementById("info").innerHTML = "-:--:--/-:--:--";
261 document.getElementById("PlayOrPause").value = " Play ";
265 <SCRIPT language=
"JScript">
268 document.onreadystatechange=onVLCStateChange;
269 function onVLCStateChange()
271 if( document.readyState == 'complete' )
276 function slider::Scroll()
278 var vlc = document.getElementById("vlc");
279 var slider = document.getElementById("slider");
280 var oldPos = vlc.input.position;
281 var newPos = slider.Value/slider.width;
282 if( (vlc.input.state == 3) && (oldPos != newPos) )
284 vlc.input.position = newPos;
285 slider.Text = formatTime(vlc.input.time);
286 document.getElementById("info").innerHTML = slider.Text+"/"+formatTime(vlc.input.length);
288 sliderScrolling = true;
290 function slider::Change()
292 var vlc = document.getElementById("vlc");
293 var slider = document.getElementById("slider");
294 var oldPos = vlc.input.position;
295 var newPos = slider.Value/slider.width;
296 if( sliderScrolling )
298 sliderScrolling = false;
300 else if( !ignoreSliderChange && (vlc.input.state == 3) && (oldPos != newPos) )
302 vlc.input.position = newPos;