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
71 var ignoreSliderChange = false;
\r
73 function updateVolume(deltaVol)
\r
75 var vlc = document.getElementById("vlc");
\r
76 vlc.audio.volume += deltaVol;
\r
77 document.getElementById("volumeTextField").innerHTML = vlc.audio.volume+"%";
\r
79 function formatTime(timeVal)
\r
81 var timeHour = Math.round(timeVal / 1000);
\r
82 var timeSec = timeHour % 60;
\r
84 timeSec = '0'+timeSec;
\r
85 timeHour = (timeHour - timeSec)/60;
\r
86 var timeMin = timeHour % 60;
\r
88 timeMin = '0'+timeMin;
\r
89 timeHour = (timeHour - timeMin)/60;
\r
91 return timeHour+":"+timeMin+":"+timeSec;
\r
93 return timeMin+":"+timeSec;
\r
97 var vlc = document.getElementById("vlc");
\r
98 var newState = vlc.input.state;
\r
99 if( prevState != newState )
\r
101 if( newState == 0 )
\r
103 // current media has stopped
\r
106 else if( newState == 1 )
\r
108 // current media is openning/connecting
\r
111 else if( newState == 2 )
\r
113 // current media is buffering data
\r
116 else if( newState == 3 )
\r
118 // current media is now playing
\r
121 else if( vlc.input.state == 4 )
\r
123 // current media is now paused
\r
126 prevState = newState;
\r
128 else if( newState == 3 )
\r
130 // current media is playing
\r
133 monitorTimerId = setTimeout("monitor()", 1000);
\r
138 function doGo(targetURL)
\r
140 var vlc = document.getElementById("vlc");
\r
141 var options = new Array(":vout-filter=deinterlace", ":deinterlace-mode=linear");
\r
142 vlc.playlist.clear();
\r
143 //vlc.playlist.add(targetURL, null, options);
\r
144 vlc.playlist.add(targetURL);
\r
145 vlc.playlist.play();
\r
146 if( monitorTimerId == 0 )
\r
151 function doPlayOrPause()
\r
153 var vlc = document.getElementById("vlc");
\r
154 if( vlc.playlist.isPlaying )
\r
156 vlc.playlist.togglePause();
\r
160 vlc.playlist.play();
\r
161 if( monitorTimerId == 0 )
\r
169 document.getElementById("vlc").playlist.stop();
\r
170 if( monitorTimerId != 0 )
\r
172 clearTimeout(monitorTimerId);
\r
173 monitorTimerId = 0;
\r
177 function doPlaySlower()
\r
179 var vlc = document.getElementById("vlc");
\r
180 vlc.input.rate = vlc.input.rate / 2;
\r
182 function doPlayFaster()
\r
184 var vlc = document.getElementById("vlc");
\r
185 vlc.input.rate = vlc.input.rate * 2;
\r
192 document.getElementById("info").innerHTML = "Opening...";
\r
193 document.getElementById("PlayOrPause").value = "Pause";
\r
195 function onBuffer()
\r
197 document.getElementById("info").innerHTML = "Buffering...";
\r
198 document.getElementById("PlayOrPause").value = "Pause";
\r
203 document.getElementById("PlayOrPause").value = "Pause";
\r
205 var liveFeedText = new Array("Live", "((Live))", "(( Live ))", "(( Live ))");
\r
206 var liveFeedRoll = 0;
\r
207 function onPlaying()
\r
209 if( ! sliderScrolling )
\r
211 var slider = document.getElementById("slider");
\r
212 if( vlc.input.length > 0 )
\r
215 slider.Enabled = true;
\r
216 slider.Max = slider.width;
\r
217 ignoreSliderChange = true;
\r
218 slider.Value = vlc.input.position*slider.width;
\r
219 ignoreSliderChange = false;
\r
220 document.getElementById("info").innerHTML = formatTime(vlc.input.time)+"/"+formatTime(vlc.input.length);
\r
224 // non-seekable "live" media
\r
225 if( slider.Enabled )
\r
227 slider.Value = slider.Min;
\r
228 slider.Enabled = false;
\r
230 liveFeedRoll = liveFeedRoll & 3;
\r
231 document.getElementById("info").innerHTML = liveFeedText[liveFeedRoll++];
\r
237 document.getElementById("PlayOrPause").value = " Play ";
\r
241 if( slider.Enabled )
\r
243 slider.Value = slider.Min;
\r
244 slider.Enabled = false;
\r
246 document.getElementById("info").innerHTML = "-:--:--/-:--:--";
\r
247 document.getElementById("PlayOrPause").value = " Play ";
\r
251 <SCRIPT language="JScript">
\r
254 document.onreadystatechange=onVLCStateChange;
\r
255 function onVLCStateChange()
\r
257 if( document.readyState == 'complete' )
\r
262 function slider::Scroll()
\r
264 var vlc = document.getElementById("vlc");
\r
265 var slider = document.getElementById("slider");
\r
266 var oldPos = vlc.input.position;
\r
267 var newPos = slider.Value/slider.width;
\r
268 if( (vlc.input.state == 3) && (oldPos != newPos) )
\r
270 vlc.input.position = newPos;
\r
271 slider.Text = formatTime(vlc.input.time);
\r
272 document.getElementById("info").innerHTML = slider.Text+"/"+formatTime(vlc.input.length);
\r
274 sliderScrolling = true;
\r
276 function slider::Change()
\r
278 var vlc = document.getElementById("vlc");
\r
279 var slider = document.getElementById("slider");
\r
280 var oldPos = vlc.input.position;
\r
281 var newPos = slider.Value/slider.width;
\r
282 if( sliderScrolling )
\r
284 sliderScrolling = false;
\r
286 else if( !ignoreSliderChange && (vlc.input.state == 3) && (oldPos != newPos) )
\r
288 vlc.input.position = newPos;
\r