]> git.sesse.net Git - vlc/blob - activex/test.html
Remove annoying warnings.
[vlc] / activex / test.html
1 <HTML>\r
2 <TITLE>VLC ActiveX plugin test page</TITLE>\r
3 <BODY>\r
4 <TABLE>\r
5 <TR><TD colspan="2">\r
6 MRL:\r
7 <INPUT size="90" id="targetTextField" value="">\r
8 <INPUT type=submit value="Go" onClick="doGo(document.getElementById('targetTextField').value);">\r
9 </TD></TR>\r
10 <TR><TD colspan="2">\r
11 <!--\r
12 Insert VideoLAN.VLCPlugin.2 activex control\r
13 -->\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
16         width="640"\r
17         height="480"\r
18         id="vlc"\r
19         events="True">\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
26 </OBJECT>\r
27 </TD></TR>\r
28 <TR><TD>\r
29 <!--\r
30 Insert MSComctlLib.Slider.2 activex control\r
31 -->\r
32 <OBJECT classid="clsid:F08DF954-8592-11D1-B16A-00C0F0283628"\r
33         width="540"\r
34         height="20"\r
35         id="slider"\r
36         events="True">\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
42 </OBJECT>\r
43 </TD><TD width="15%">\r
44 <DIV id="info" style="text-align:center">-:--:--/-:--:--</DIV>\r
45 </TD></TR>\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
49 &nbsp;\r
50 <INPUT type=button value=" << " onClick='doPlaySlower();'>\r
51 <INPUT type=button value=" >> " onClick='doPlayFaster();'>\r
52 &nbsp;\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
55 &nbsp;\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
62 </TD>\r
63 </TR>\r
64 </TABLE>\r
65 <SCRIPT language="javascript">\r
66 <!--\r
67 \r
68 var prevState = 0;\r
69 var monitorTimerId = 0;\r
70 var sliderScrolling = false;\r
71 var ignoreSliderChange = false;\r
72 \r
73 function updateVolume(deltaVol)\r
74 {\r
75     var vlc = document.getElementById("vlc");\r
76     vlc.audio.volume += deltaVol;\r
77     document.getElementById("volumeTextField").innerHTML = vlc.audio.volume+"%";\r
78 };\r
79 function formatTime(timeVal)\r
80 {\r
81     var timeHour = Math.round(timeVal / 1000);\r
82     var timeSec = timeHour % 60;\r
83     if( timeSec < 10 )\r
84         timeSec = '0'+timeSec;\r
85     timeHour = (timeHour - timeSec)/60;\r
86     var timeMin = timeHour % 60;\r
87     if( timeMin < 10 )\r
88         timeMin = '0'+timeMin;\r
89     timeHour = (timeHour - timeMin)/60;\r
90     if( timeHour > 0 )\r
91         return timeHour+":"+timeMin+":"+timeSec;\r
92     else\r
93         return timeMin+":"+timeSec;\r
94 };\r
95 function monitor()\r
96 {\r
97     var vlc = document.getElementById("vlc");\r
98     var newState = vlc.input.state;\r
99     if( prevState != newState )\r
100     {\r
101         if( newState == 0 )\r
102         {\r
103             // current media has stopped \r
104             onStop();\r
105         }\r
106         else if( newState == 1 )\r
107         {\r
108             // current media is openning/connecting\r
109             onOpen();\r
110         }\r
111         else if( newState == 2 )\r
112         {\r
113             // current media is buffering data\r
114             onBuffer();\r
115         }\r
116         else if( newState == 3 )\r
117         {\r
118             // current media is now playing\r
119             onPlay();\r
120         }\r
121         else if( vlc.input.state == 4 )\r
122         {\r
123             // current media is now paused\r
124             onPause();\r
125         }\r
126         prevState = newState;\r
127     }\r
128     else if( newState == 3 )\r
129     {\r
130         // current media is playing\r
131         onPlaying();\r
132     }\r
133     monitorTimerId = setTimeout("monitor()", 1000);\r
134 };\r
135 \r
136 /* actions */\r
137 \r
138 function doGo(targetURL)\r
139 {\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
147     {\r
148         monitor();\r
149     }\r
150 };\r
151 function doPlayOrPause()\r
152 {\r
153     var vlc = document.getElementById("vlc");\r
154     if( vlc.playlist.isPlaying )\r
155     {\r
156         vlc.playlist.togglePause();\r
157     }\r
158     else\r
159     {\r
160         vlc.playlist.play();\r
161         if( monitorTimerId == 0 )\r
162         {\r
163             monitor();\r
164         }\r
165     }\r
166 };\r
167 function doStop()\r
168 {\r
169     document.getElementById("vlc").playlist.stop();\r
170     if( monitorTimerId != 0 )\r
171     {\r
172         clearTimeout(monitorTimerId);\r
173         monitorTimerId = 0;\r
174     }\r
175     onStop();\r
176 };\r
177 function doPlaySlower()\r
178 {\r
179     var vlc = document.getElementById("vlc");\r
180     vlc.input.rate = vlc.input.rate / 2;\r
181 };\r
182 function doPlayFaster()\r
183 {\r
184     var vlc = document.getElementById("vlc");\r
185     vlc.input.rate = vlc.input.rate * 2;\r
186 };\r
187 \r
188 /* events */\r
189 \r
190 function onOpen()\r
191 {\r
192     document.getElementById("info").innerHTML = "Opening...";\r
193     document.getElementById("PlayOrPause").value = "Pause";\r
194 };\r
195 function onBuffer()\r
196 {\r
197     document.getElementById("info").innerHTML = "Buffering...";\r
198     document.getElementById("PlayOrPause").value = "Pause";\r
199 };\r
200 function onPlay()\r
201 {\r
202     onPlaying();\r
203     document.getElementById("PlayOrPause").value = "Pause";\r
204 };\r
205 var liveFeedText = new Array("Live", "((Live))", "(( Live ))", "((  Live  ))");\r
206 var liveFeedRoll = 0;\r
207 function onPlaying()\r
208 {\r
209     if( ! sliderScrolling )\r
210     {\r
211         var slider = document.getElementById("slider");\r
212         if( vlc.input.length > 0 )\r
213         {\r
214             // seekable media\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
221         }\r
222         else\r
223         {\r
224             // non-seekable "live" media\r
225             if( slider.Enabled )\r
226             {\r
227                 slider.Value = slider.Min;\r
228                 slider.Enabled = false;\r
229             }\r
230             liveFeedRoll = liveFeedRoll & 3;\r
231             document.getElementById("info").innerHTML = liveFeedText[liveFeedRoll++];\r
232         }\r
233     }\r
234 };\r
235 function onPause()\r
236 {\r
237     document.getElementById("PlayOrPause").value = " Play ";\r
238 };\r
239 function onStop()\r
240 {\r
241     if( slider.Enabled )\r
242     {\r
243         slider.Value = slider.Min;\r
244         slider.Enabled = false;\r
245     }\r
246     document.getElementById("info").innerHTML = "-:--:--/-:--:--";\r
247     document.getElementById("PlayOrPause").value = " Play ";\r
248 };\r
249 //-->\r
250 </SCRIPT>\r
251 <SCRIPT language="JScript">\r
252 <!--\r
253 \r
254 document.onreadystatechange=onVLCStateChange;\r
255 function onVLCStateChange()\r
256 {\r
257     if( document.readyState == 'complete' )\r
258     {\r
259         updateVolume(0);\r
260     }\r
261 };\r
262 function slider::Scroll()\r
263 {\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
269     {\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
273     }\r
274     sliderScrolling = true;\r
275 };\r
276 function slider::Change()\r
277 {\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
283     {\r
284         sliderScrolling = false;\r
285     }\r
286     else if( !ignoreSliderChange && (vlc.input.state == 3) && (oldPos != newPos) )\r
287     {\r
288         vlc.input.position = newPos;\r
289     }\r
290 };\r
291 //-->\r
292 </SCRIPT>\r
293 </BODY>\r
294 </HTML>\r