Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
V
vlc
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Redmine
Redmine
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Operations
Operations
Metrics
Environments
Analytics
Analytics
CI / CD
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
videolan
vlc
Commits
a624aaeb
Commit
a624aaeb
authored
May 20, 2010
by
Jean-Paul Saman
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
mozilla: activex: update test.html
- use VLC MediaPlayer events - use unix style EOL
parent
366cc4b9
Changes
2
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
1988 additions
and
1501 deletions
+1988
-1501
projects/activex/test.html
projects/activex/test.html
+994
-693
projects/mozilla/test.html
projects/mozilla/test.html
+994
-808
No files found.
projects/activex/test.html
View file @
a624aaeb
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML>
<TITLE>
VLC Plugin test page
</TITLE>
<SCRIPT
language=
"JavaScript"
>
<!--
function init()
{
if( navigator.appName.indexOf("Microsoft Internet")==-1 )
{
onVLCPluginReady()
}
else if( document.readyState == 'complete' )
{
onVLCPluginReady();
}
else
{
/* Explorer loads plugins asynchronously */
document.onreadystatechange=function()
{
if( document.readyState == 'complete' )
{
onVLCPluginReady();
}
}
}
}
function getVLC(name)
{
if (window.document[name])
{
return window.document[name];
}
if (navigator.appName.indexOf("Microsoft Internet")==-1)
{
if (document.embeds && document.embeds[name])
return document.embeds[name];
}
else // if (navigator.appName.indexOf("Microsoft Internet")!=-1)
{
return document.getElementById(name);
}
}
function onVLCPluginReady()
{
updateVolume(0);
}
//-->
</SCRIPT>
<BODY
onLoad=
"init();"
>
<TABLE>
<TR><TD
colspan=
"2"
>
MRL:
<INPUT
size=
"90"
id=
"targetTextField"
value=
""
>
<INPUT
type=
submit
value=
"Go"
onClick=
"doGo(document.getElementById('targetTextField').value);"
>
<INPUT
type=
submit
value=
"Add"
onClick=
"doAdd(document.getElementById('targetTextField').value);"
>
</TD></TR>
<TR><TD
align=
"center"
colspan=
"2"
>
<!--
Insert VideoLAN.VLCPlugin.2
-->
<OBJECT
classid=
"clsid:9BE31822-FDAD-461B-AD51-BE1D1C159921"
width=
"640"
height=
"480"
id=
"vlc"
events=
"True"
>
<param
name=
"MRL"
value=
""
/>
<param
name=
"ShowDisplay"
value=
"True"
/>
<param
name=
"AutoLoop"
value=
"False"
/>
<param
name=
"AutoPlay"
value=
"False"
/>
<param
name=
"Volume"
value=
"50"
/>
<param
name=
"toolbar"
value=
"true"
/>
<param
name=
"StartTime"
value=
"0"
/>
<EMBED
pluginspage=
"http://www.videolan.org"
type=
"application/x-vlc-plugin"
version=
"VideoLAN.VLCPlugin.2"
width=
"640"
height=
"480"
toolbar=
"true"
text=
"Waiting for video"
name=
"vlc"
>
</EMBED>
</OBJECT>
</TD></TR>
<TR><TD
colspan=
"2"
>
<TABLE><TR>
<TD
valign=
"top"
width=
"550"
>
<!--
Insert Slider widget
-->
</TD><TD
width=
"15%"
>
<DIV
id=
"info"
style=
"text-align:center"
>
-:--:--/-:--:--
</DIV>
<DIV
id=
"state"
style=
"text-align:center"
>
Stopped...
</DIV>
</TD></TR></TABLE>
</TD></TR>
<TR><TD>
<INPUT
type=
button
id=
"PlayOrPause"
value=
" Play "
onClick=
'doPlayOrPause();'
>
<INPUT
type=
button
value=
"Stop"
onClick=
'doStop();'
>
<INPUT
type=
button
value=
" << "
onClick=
'doPlaySlower();'
>
<INPUT
type=
button
value=
"Reverse"
onClick=
'doReverse();'
>
<INPUT
type=
button
value=
" >> "
onClick=
'doPlayFaster();'
>
<INPUT
type=
button
value=
"Fullscreen"
onClick=
'getVLC("vlc").video.toggleFullscreen();'
>
<INPUT
type=
button
value=
"Version"
onClick=
'alert("vlc " + getVLC("vlc").VersionInfo);'
>
<INPUT
type=
button
value=
" State "
onClick=
'alert("state: " + getVLC("vlc").input.state);'
>
</TD><TD
align=
"right"
>
<SPAN
style=
"text-align:center"
>
Volume:
</SPAN>
<INPUT
type=
button
value=
" - "
onClick=
'updateVolume(-10)'
>
<SPAN
id=
"volumeTextField"
style=
"text-align:center"
>
--
</SPAN>
<INPUT
type=
button
value=
" + "
onClick=
'updateVolume(+10)'
>
<INPUT
type=
button
value=
"Mute"
onClick=
'getVLC("vlc").audio.toggleMute();'
>
</TD>
</TR>
<TR><TD>
Playlist:
<INPUT
type=
button
value=
"Prev"
onClick=
'getVLC("vlc").playlist.prev();'
>
<INPUT
type=
button
value=
"Next"
onClick=
'getVLC("vlc").playlist.next();'
>
<INPUT
type=
button
value=
"Clear All"
onClick=
'doPlaylistClearAll();'
>
Aspect Ratio:
<SELECT
readonly
onChange=
'doAspectRatio(this.value)'
>
<OPTION
value=
"default"
>
Default
</OPTION>
<OPTION
value=
"1:1"
>
1:1
</OPTION>
<OPTION
value=
"4:3"
>
4:3
</OPTION>
<OPTION
value=
"16:9"
>
16:9
</OPTION>
<OPTION
value=
"221:100"
>
221:100
</OPTION>
<OPTION
value=
"5:4"
>
5:4
</OPTION>
</SELECT>
</TD><TD
align=
"right"
>
<INPUT
type=
button
id=
"itemCount"
value=
" Items 0 "
onClick=
'doItemCount();'
>
<INPUT
size=
4
value=
""
id=
"removeid"
><INPUT
type=
submit
value=
"Delete"
onClick=
"doRemoveItem(document.getElementById('removeid').value);"
>
</TD>
</TR>
<TR><TD>
Audio Channel:
<SELECT
readonly
onClick=
'doAudioChannel(this.value);'
>
<OPTION
value=
1
>
Stereo
</OPTION>
<OPTION
value=
2
>
Reverse Stereo
</OPTION>
<OPTION
value=
3
>
Left
</OPTION>
<OPTION
value=
4
>
Right
</OPTION>
<OPTION
value=
5
>
Dolby
</OPTION>
</SELECT>
</TD>
<TD>
<INPUT
type=
button
value=
"current channel"
onClick=
'alert(getVLC("vlc").audio.channel);'
>
</TD>
</TR>
<TR><TD>
Audio Track:
<INPUT
type=
button
value=
" + "
onClick=
'doAudioTrack(1);'
>
<SPAN
id=
"trackTextField"
style=
"text-align:center"
>
--
</SPAN>
<INPUT
type=
button
value=
" - "
onClick=
'doAudioTrack(-1);'
>
<INPUT
type=
button
value=
"current track"
onClick=
'alert(getVLC("vlc").audio.description(vlc.audio.track));'
>
<INPUT
type=
button
value=
"number of track"
onClick=
'alert(getVLC("vlc").audio.count);'
>
</TD>
<TD>
<INPUT
type=
button
value=
"set slider"
onClick=
'doSetSlider();'
>
<INPUT
type=
button
value=
"get position"
onClick=
'doGetPosition();'
>
</TD>
</TR>
<TR>
<TD>
Video Subtitle:
<INPUT
type=
button
value=
" + "
onClick=
'doSubtitle(1);'
>
<SPAN
id=
"spuTextField"
style=
"text-align:center"
>
--
</SPAN>
<INPUT
type=
button
value=
" - "
onClick=
'doSubtitle(-1);'
>
<INPUT
type=
button
value=
"current subtitle"
onClick=
'alert(getVLC("vlc").subtitle.description(vlc.subtitle.track));'
>
<INPUT
type=
button
value=
"number of subtitle"
onClick=
'alert(getVLC("vlc").subtitle.count);'
>
</TD>
</TR>
<TR>
<TD>
Deinterlacing:
<INPUT
type=
button
value=
"BLEND"
onClick=
'getVLC("vlc").video.deinterlace.enable("blend");'
>
<INPUT
type=
button
value=
" X "
onClick=
'getVLC("vlc").video.deinterlace.enable("x");'
>
<INPUT
type=
button
value=
"Disable"
onClick=
'getVLC("vlc").video.deinterlace.disable();'
>
</TD>
</TR>
<TR>
<TD>
Marquee video filter:
<INPUT
type=
button
value=
"Enable"
onClick=
'getVLC("vlc").video.marquee.enable();'
>
<INPUT
type=
button
value=
"Disable"
onClick=
'getVLC("vlc").video.marquee.disable();'
>
<INPUT
size=
4
value=
""
id=
"marqueeIntValue"
>
<SELECT
readonly
onClick=
"doMarqueeOption(this.value,document.getElementById('marqueeIntValue').value);"
>
<OPTION
value=
1
>
Color
</OPTION>
<OPTION
value=
2
>
Opacity
</OPTION>
<OPTION
value=
3
>
Position
</OPTION>
<OPTION
value=
4
>
Refresh
</OPTION>
<OPTION
value=
5
>
Size
</OPTION>
<OPTION
value=
6
>
Text
</OPTION>
<OPTION
value=
7
>
Timeout
</OPTION>
<OPTION
value=
8
>
X
</OPTION>
<OPTION
value=
9
>
Y
</OPTION>
</SELECT>
</TD>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML>
<TITLE>
VLC Plugin test page
</TITLE>
<STYLE>
.inputTrackerInput {
height:20;
width:30;
font-family : Arial, Helvetica, sans-serif;
font-size : 12px;
}
</STYLE>
<SCRIPT
type=
"text/javascript"
src=
"blueshoes-4.5/javascript/lib/LibCrossBrowser.js"
></SCRIPT>
<SCRIPT
type=
"text/javascript"
src=
"blueshoes-4.5/javascript/lib/EventHandler.js"
></SCRIPT>
<SCRIPT
type=
"text/javascript"
src=
"blueshoes-4.5/javascript/core/form/Bs_FormUtil.lib.js"
></SCRIPT>
<SCRIPT
type=
"text/javascript"
src=
"blueshoes-4.5/javascript/components/slider/Bs_Slider.class.js"
></SCRIPT>
<SCRIPT
language=
"JavaScript"
>
<!--
function init()
{
inputTracker = new Bs_Slider();
if (inputTracker)
{
inputTracker.attachOnChange(onInputTrackerChange);
inputTracker.attachOnSlideStart(onInputTrackerScrollStart);
inputTracker.attachOnSlideEnd(onInputTrackerScrollEnd);
inputTracker.width = 530;
inputTracker.height = 15;
inputTracker.minVal = 0;
inputTracker.maxVal = 1.0;
inputTracker.valueDefault = 0;
inputTracker.valueInterval = 1/530;
inputTracker.setDisabled(true);
inputTracker.imgDir = 'blueshoes-4.5/javascript/components/slider/img/';
inputTracker.setBackgroundImage('aluminumalloyvolcanic/horizontal_background.gif', 'repeat');
inputTracker.setArrowIconLeft('aluminumalloyvolcanic/horizontal_backgroundLeft.gif', 2, 19);
inputTracker.setArrowIconRight('aluminumalloyvolcanic/horizontal_backgroundRight.gif', 2, 19);
inputTracker.setSliderIcon('aluminumalloyvolcanic/horizontal_knob.gif', 15, 19);
inputTracker.useInputField = 0;
inputTracker.draw('inputTrackerDiv');
}
if( navigator.appName.indexOf("Microsoft Internet")==-1 )
{
onVLCPluginReady()
}
else if( document.readyState == 'complete' )
{
onVLCPluginReady();
}
else
{
/* Explorer loads plugins asynchronously */
document.onreadystatechange=function()
{
if( document.readyState == 'complete' )
{
onVLCPluginReady();
}
}
}
}
function getVLC(name)
{
if (window.document[name])
{
return window.document[name];
}
if (navigator.appName.indexOf("Microsoft Internet")==-1)
{
if (document.embeds && document.embeds[name])
return document.embeds[name];
}
else // if (navigator.appName.indexOf("Microsoft Internet")!=-1)
{
return document.getElementById(name);
}
}
function registerVLCEvent(event, handler)
{
var vlc = getVLC("vlc");
if (vlc) {
if (vlc.attachEvent) {
// Microsoft
vlc.attachEvent (event, handler);
} else if (vlc.addEventListener) {
// Mozilla: DOM level 2
vlc.addEventListener (event, handler, true);
} else {
// DOM level 0
eval("vlc.on" + event + " = handler");
}
}
}
function unregisterVLCEvent(event, handler)
{
var vlc = getVLC("vlc");
if (vlc) {
if (vlc.detachEvent) {
// Microsoft
vlc.detachEvent (event, handler);
} else if (vlc.removeEventListener) {
// Mozilla: DOM level 2
vlc.removeEventListener (event, handler, true);
} else {
// DOM level 0
eval("vlc.on" + event + " = null");
}
}
}
// JS VLC API callbacks
function handleMediaPlayerMediaChanged()
{
document.getElementById("info").innerHTML = "Media Changed";
}
function handle_MediaPlayerNothingSpecial()
{
document.getElementById("state").innerHTML = "Idle...";
}
function handle_MediaPlayerOpening()
{
onOpen();
}
function handle_MediaPlayerBuffering(val)
{
document.getElementById("info").innerHTML = val + "%";
}
function handle_MediaPlayerPlaying()
{
onPlay();
}
function handle_MediaPlayerPaused()
{
onPause();
}
function handle_MediaPlayerStopped()
{
onStop();
}
function handle_MediaPlayerForward()
{
document.getElementById("state").innerHTML = "Forward...";
}
function handle_MediaPlayerBackward()
{
document.getElementById("state").innerHTML = "Backward...";
}
function handle_MediaPlayerEndReached()
{
onEnd();
}
function handle_MediaPlayerEncounteredError()
{
onError();
}
function handle_MediaPlayerTimeChanged(time)
{
var vlc = getVLC("vlc");
var info = document.getElementById("info");
if( vlc )
{
var mediaLen = vlc.input.length;
if( mediaLen > 0 )
{
// seekable media
info.innerHTML = formatTime(time)+"/"+formatTime(mediaLen);
}
}
}
function handle_MediaPlayerPositionChanged(val)
{
// set javascript slider to correct position
}
function handle_MediaPlayerSeekableChanged(val)
{
setSeekable(val);
}
function handle_MediaPlayerPausableChanged(val)
{
setPauseable(val);
}
function handle_MediaPlayerTitleChanged(val)
{
//setTitle(val);
document.getElementById("info").innerHTML = "Title: " + val;
}
function handle_MediaPlayerLengthChanged(val)
{
//setMediaLength(val);
}
// VLC Plugin
function onVLCPluginReady()
{
registerVLCEvent("MediaPlayerMediaChanged", handleMediaPlayerMediaChanged);
registerVLCEvent("MediaPlayerNothingSpecial", handle_MediaPlayerNothingSpecial);
registerVLCEvent("MediaPlayerOpening", handle_MediaPlayerOpening);
registerVLCEvent("MediaPlayerBuffering", handle_MediaPlayerBuffering);
registerVLCEvent("MediaPlayerPlaying", handle_MediaPlayerPlaying);
registerVLCEvent("MediaPlayerPaused", handle_MediaPlayerPaused);
registerVLCEvent("MediaPlayerStopped", handle_MediaPlayerStopped);
registerVLCEvent("MediaPlayerForward", handle_MediaPlayerForward);
registerVLCEvent("MediaPlayerBackward", handle_MediaPlayerBackward);
registerVLCEvent("MediaPlayerEndReached", handle_MediaPlayerEndReached);
registerVLCEvent("MediaPlayerEncounteredError", handle_MediaPlayerEncounteredError);
registerVLCEvent("MediaPlayerTimeChanged", handle_MediaPlayerTimeChanged);
registerVLCEvent("MediaPlayerPositionChanged", handle_MediaPlayerPositionChanged);
registerVLCEvent("MediaPlayerSeekableChanged", handle_MediaPlayerSeekableChanged);
registerVLCEvent("MediaPlayerPausableChanged", handle_MediaPlayerPausableChanged);
registerVLCEvent("MediaPlayerTitleChanged", handle_MediaPlayerTitleChanged);
registerVLCEvent("MediaPlayerLengthChanged", handle_MediaPlayerLengthChanged);
}
function close()
{
unregisterVLCEvent('MediaPlayerMouseGrab', handleMouseGrab);
unregisterVLCEvent('MediaPlayerMouseRelease', handleMouseRelease);
unregisterVLCEvent('MediaPlayerMouseClick', handleMouseClick);
unregisterVLCEvent("MediaPlayerMediaChanged", handleMediaPlayerMediaChanged);
unregisterVLCEvent("MediaPlayerNothingSpecial", handle_MediaPlayerNothingSpecial);
unregisterVLCEvent("MediaPlayerOpening", handle_MediaPlayerOpening);
unregisterVLCEvent("MediaPlayerBuffering", handle_MediaPlayerBuffering);
unregisterVLCEvent("MediaPlayerPlaying", handle_MediaPlayerPlaying);
unregisterVLCEvent("MediaPlayerPaused", handle_MediaPlayerPaused);
unregisterVLCEvent("MediaPlayerStopped", handle_MediaPlayerStopped);
unregisterVLCEvent("MediaPlayerForward", handle_MediaPlayerForward);
unregisterVLCEvent("MediaPlayerBackward", handle_MediaPlayerBackward);
unregisterVLCEvent("MediaPlayerEndReached", handle_MediaPlayerEndReached);
unregisterVLCEvent("MediaPlayerEncounteredError", handle_MediaPlayerEncounteredError);
unregisterVLCEvent("MediaPlayerTimeChanged", handle_MediaPlayerTimeChanged);
unregisterVLCEvent("MediaPlayerPositionChanged", handle_MediaPlayerPositionChanged);
unregisterVLCEvent("MediaPlayerSeekableChanged", handle_MediaPlayerSeekableChanged);
unregisterVLCEvent("MediaPlayerPausableChanged", handle_MediaPlayerPausableChanged);
unregisterVLCEvent("MediaPlayerTitleChanged", handle_MediaPlayerTitleChanged);
unregisterVLCEvent("MediaPlayerLengthChanged", handle_MediaPlayerLengthChanged);
}
//-->
</SCRIPT>
<BODY
onLoad=
"init();"
onClose=
"close();>
<TABLE>
<TR><TD colspan="
2
"
>
MRL:
<INPUT
size=
"90"
id=
"targetTextField"
value=
""
>
<INPUT
type=
submit
value=
"Go"
onClick=
"doGo(document.getElementById('targetTextField').value);"
>
<INPUT
type=
submit
value=
"Add"
onClick=
"doAdd(document.getElementById('targetTextField').value);"
>
</TD></TR>
<TR><TD
align=
"center"
colspan=
"2"
>
<!--
Insert VideoLAN.VLCPlugin.2
-->
<OBJECT
classid=
"clsid:9BE31822-FDAD-461B-AD51-BE1D1C159921"
width=
"640"
height=
"480"
id=
"vlc"
events=
"True"
>
<param
name=
"MRL"
value=
""
/>
<param
name=
"ShowDisplay"
value=
"True"
/>
<param
name=
"AutoLoop"
value=
"False"
/>
<param
name=
"AutoPlay"
value=
"False"
/>
<param
name=
"Volume"
value=
"50"
/>
<param
name=
"toolbar"
value=
"true"
/>
<param
name=
"StartTime"
value=
"0"
/>
<EMBED
pluginspage=
"http://www.videolan.org"
type=
"application/x-vlc-plugin"
version=
"VideoLAN.VLCPlugin.2"
width=
"640"
height=
"480"
toolbar=
"true"
text=
"Waiting for video"
name=
"vlc"
>
</EMBED>
</OBJECT>
</TD></TR>
<TR><TD
colspan=
"2"
>
<TABLE><TR>
<TD
valign=
"top"
width=
"550"
>
<!--
Insert Slider widget
-->
<DIV
id=
"inputTrackerDiv"
</
DIV
>
</TD><TD
width=
"15%"
>
<DIV
id=
"info"
style=
"text-align:center"
>
-:--:--/-:--:--
</DIV>
<DIV
id=
"state"
style=
"text-align:center"
>
Stopped...
</DIV>
</TD></TR></TABLE>
</TD></TR>
<TR><TD>
<INPUT
type=
button
id=
"PlayOrPause"
value=
" Play "
onClick=
'doPlayOrPause();'
>
<INPUT
type=
button
value=
"Stop"
onClick=
'doStop();'
>
<INPUT
type=
button
value=
" << "
onClick=
'doPlaySlower();'
>
<INPUT
type=
button
value=
"Reverse"
onClick=
'doReverse();'
>
<INPUT
type=
button
value=
" >> "
onClick=
'doPlayFaster();'
>
<INPUT
type=
button
value=
"Fullscreen"
onClick=
'getVLC("vlc").video.toggleFullscreen();'
>
<INPUT
type=
button
value=
"Version"
onClick=
'alert("vlc " + getVLC("vlc").VersionInfo);'
>
<INPUT
type=
button
value=
" State "
onClick=
'alert("state: " + getVLC("vlc").input.state);'
>
</TD><TD
align=
"right"
>
<SPAN
style=
"text-align:center"
>
Volume:
</SPAN>
<INPUT
type=
button
value=
" - "
onClick=
'updateVolume(-10)'
>
<SPAN
id=
"volumeTextField"
style=
"text-align:center"
>
--
</SPAN>
<INPUT
type=
button
value=
" + "
onClick=
'updateVolume(+10)'
>
<INPUT
type=
button
value=
"Mute"
onClick=
'getVLC("vlc").audio.toggleMute();'
>
</TD>
</TR>
<TR><TD>
Playlist:
<INPUT
type=
button
value=
"Prev"
onClick=
'getVLC("vlc").playlist.prev();'
>
<INPUT
type=
button
value=
"Next"
onClick=
'getVLC("vlc").playlist.next();'
>
<INPUT
type=
button
value=
"Clear All"
onClick=
'doPlaylistClearAll();'
>
Aspect Ratio:
<SELECT
readonly
onChange=
'doAspectRatio(this.value)'
>
<OPTION
value=
"default"
>
Default
</OPTION>
<OPTION
value=
"1:1"
>
1:1
</OPTION>
<OPTION
value=
"4:3"
>
4:3
</OPTION>
<OPTION
value=
"16:9"
>
16:9
</OPTION>
<OPTION
value=
"221:100"
>
221:100
</OPTION>
<OPTION
value=
"5:4"
>
5:4
</OPTION>
</SELECT>
</TD><TD
align=
"right"
>
<INPUT
type=
button
id=
"itemCount"
value=
" Items 0 "
onClick=
'doItemCount();'
>
<INPUT
size=
4
value=
""
id=
"removeid"
><INPUT
type=
submit
value=
"Delete"
onClick=
"doRemoveItem(document.getElementById('removeid').value);"
>
</TD>
</TR>
<TR><TD>
Audio Channel:
<SELECT
readonly
onClick=
'doAudioChannel(this.value);'
>
<OPTION
value=
1
>
Stereo
</OPTION>
<OPTION
value=
2
>
Reverse Stereo
</OPTION>
<OPTION
value=
3
>
Left
</OPTION>
<OPTION
value=
4
>
Right
</OPTION>
<OPTION
value=
5
>
Dolby
</OPTION>
</SELECT>
</TD>
<TD>
<INPUT
type=
button
value=
"current channel"
onClick=
'alert(getVLC("vlc").audio.channel);'
>
</TD>
</TR>
<TR><TD>
Audio Track:
<INPUT
type=
button
value=
" + "
onClick=
'doAudioTrack(1);'
>
<SPAN
id=
"trackTextField"
style=
"text-align:center"
>
--
</SPAN>
<INPUT
type=
button
value=
" - "
onClick=
'doAudioTrack(-1);'
>
<INPUT
type=
button
value=
"current track"
onClick=
'alert(getVLC("vlc").audio.description(vlc.audio.track));'
>
<INPUT
type=
button
value=
"number of track"
onClick=
'alert(getVLC("vlc").audio.count);'
>
</TD>
<TD>
<INPUT
type=
button
value=
"set slider"
onClick=
'doSetSlider();'
>
<INPUT
type=
button
value=
"get position"
onClick=
'doGetPosition();'
>
</TD>
</TR>
<TR>
<TD>
Video Subtitle:
<INPUT
type=
button
value=
" + "
onClick=
'doSubtitle(1);'
>
<SPAN
id=
"spuTextField"
style=
"text-align:center"
>
--
</SPAN>
<INPUT
type=
button
value=
" - "
onClick=
'doSubtitle(-1);'
>
<INPUT
type=
button
value=
"current subtitle"
onClick=
'alert(getVLC("vlc").subtitle.description(vlc.subtitle.track));'
>
<INPUT
type=
button
value=
"number of subtitle"
onClick=
'alert(getVLC("vlc").subtitle.count);'
>
</TD>
</TR>
<TR>
<TD>
Deinterlacing:
<INPUT
type=
button
value=
"BLEND"
onClick=
'getVLC("vlc").video.deinterlace.enable("blend");'
>
<INPUT
type=
button
value=
" X "
onClick=
'getVLC("vlc").video.deinterlace.enable("x");'
>
<INPUT
type=
button
value=
"Disable"
onClick=
'getVLC("vlc").video.deinterlace.disable();'
>
</TD>
</TR>
<TR>
<TD>
Marquee video filter:
<INPUT
type=
button
value=
"Enable"
onClick=
'getVLC("vlc").video.marquee.enable();'
>
<INPUT
type=
button
value=
"Disable"
onClick=
'getVLC("vlc").video.marquee.disable();'
>
<INPUT
size=
4
value=
""
id=
"marqueeIntValue"
>
<SELECT
readonly
onClick=
"doMarqueeOption(this.value,document.getElementById('marqueeIntValue').value);"
>
<OPTION
value=
1
>
Color
</OPTION>
<OPTION
value=
2
>
Opacity
</OPTION>
<OPTION
value=
3
>
Position
</OPTION>
<OPTION
value=
4
>
Refresh
</OPTION>
<OPTION
value=
5
>
Size
</OPTION>
<OPTION
value=
6
>
Text
</OPTION>
<OPTION
value=
7
>
Timeout
</OPTION>
<OPTION
value=
8
>
X
</OPTION>
<OPTION
value=
9
>
Y
</OPTION>
</SELECT>
</TD>
</TR>
<TR>
<TD>
Logo video filter:
<INPUT
type=
button
value=
"Enable"
onClick=
'getVLC("vlc").video.logo.enable();'
>
<INPUT
type=
button
value=
"Disable"
onClick=
'getVLC("vlc").video.logo.disable();'
>
<INPUT
size=
4
value=
""
id=
"logoIntValue"
>
<SELECT
readonly
onClick=
"doLogoOption(this.value,document.getElementById('logoIntValue').value);"
>
<OPTION
value=
1
>
File
</OPTION>
<OPTION
value=
2
>
Position
</OPTION>
<OPTION
value=
3
>
Opacity
</OPTION>
<OPTION
value=
4
>
Repeat
</OPTION>
<OPTION
value=
5
>
Delay
</OPTION>
<OPTION
value=
6
>
X
</OPTION>
<TR>
<TD>
Logo video filter:
<INPUT
type=
button
value=
"Enable"
onClick=
'getVLC("vlc").video.logo.enable();'
>
<INPUT
type=
button
value=
"Disable"
onClick=
'getVLC("vlc").video.logo.disable();'
>
<INPUT
size=
4
value=
""
id=
"logoIntValue"
>
<SELECT
readonly
onClick=
"doLogoOption(this.value,document.getElementById('logoIntValue').value);"
>
<OPTION
value=
1
>
File
</OPTION>
<OPTION
value=
2
>
Position
</OPTION>
<OPTION
value=
3
>
Opacity
</OPTION>
<OPTION
value=
4
>
Repeat
</OPTION>
<OPTION
value=
5
>
Delay
</OPTION>
<OPTION
value=
6
>
X
</OPTION>
<OPTION
value=
7
>
Y
</OPTION>
</SELECT>
</TD>
</TR>
<TR>
<TD>
<INPUT
type=
button
id=
"telx"
value=
"Teletext off"
onClick=
'doToggleTeletext();'
>
Teletext page:
<INPUT
size=
4
value=
"100"
id=
"telxPage"
onClick=
'doTelxPage(document.getElementById("telxPage").value);'
>
</TD>
</TR>
</TABLE>
<SCRIPT
language=
"javascript"
>
<!--
var rate = 0;
var prevState = 0;
var telxState = false;
function doSetSlider()
{
var vlc = getVLC("vlc");
// set slider to new position
if( vlc )
vlc.input.time = (vlc.input.length/2);
}
function doGetPosition()
{
var vlc = getVLC("vlc");
// set slider to new position
if (vlc)
alert( "position is " + vlc.input.time);
}
function doReverse(rate)
{
var vlc = getVLC("vlc");
if( vlc )
vlc.input.rate = -1.0 * vlc.input.rate;
}
function doAudioChannel(value)
{
var vlc = getVLC("vlc");
if( vlc )
vlc.audio.channel = parseInt(value);
}
function doAudioTrack(value)
{
var vlc = getVLC("vlc");
if( vlc )
{
vlc.audio.track = vlc.audio.track + value;
document.getElementById("trackTextField").innerHTML = vlc.audio.track;
}
}
function doAspectRatio(value)
{
var vlc = getVLC("vlc");
if( vlc )
vlc.video.aspectRatio = value;
}
function doSubtitle(value)
{
var vlc = getVLC("vlc");
if( vlc )
{
vlc.subtitle.track = vlc.subtitle.track + value;
document.getElementById("spuTextField").innerHTML = vlc.subtitle.track;
}
}
function doTelxPage(value)
{
var vlc = getVLC("vlc");
if( vlc )
vlc.video.teletext = parseInt(value);
}
function doToggleTeletext()
{
var vlc = getVLC("vlc");
if( vlc )
{
vlc.video.toggleTeletext();
if (telxState)
{
document.getElementById("telx").innerHTML = "Teletext on";
telxState = true;
}
else
{
document.getElementById("telx").innerHTML = "Teletext off";
telxState = false;
}
}
}
function doItemCount()
{
var vlc = getVLC("vlc");
if( vlc )
{
var count = vlc.playlist.items.count;
document.getElementById("itemCount").value = " Items " + count + " ";
}
}
function doRemoveItem(item)
{
var vlc = getVLC("vlc");
if( vlc )
vlc.playlist.items.remove(item);
}
function doPlaylistClearAll()
{
var vlc = getVLC("vlc");
if( vlc )
{
vlc.playlist.items.clear();
while( vlc.playlist.items.count > 0)
{
// wait till playlist empties.
}
doItemCount();
}
}
function updateVolume(deltaVol)
{
var vlc = getVLC("vlc");
if( vlc )
{
vlc.audio.volume += deltaVol;
document.getElementById("volumeTextField").innerHTML = vlc.audio.volume+"%";
}
}
function formatTime(timeVal)
{
if( typeof timeVal != 'number' )
return "-:--:--";
var timeHour = Math.round(timeVal / 1000);
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 doState()
{
var vlc = getVLC("vlc");
var newState = 0;
if( vlc )
newState = vlc.input.state;
if( newState == 0 )
{
// current media has stopped
onEnd();
}
else if( newState == 1 )
{
// current media is openning/connecting
onOpen();
}
else if( newState == 2 )
{
// current media is buffering data
onBuffer();
}
else if( newState == 3 )
{
// current media is now playing
onPlay();
}
else if( newState == 4 )
{
// current media is now paused
onPause();
}
else if( newState == 5 )
{
// current media has stopped
onStop();
}
else if( newState == 6 )
{
// current media has ended
onEnd();
}
else if( newState == 7 )
{
// current media encountered error
onError();
}
}
function monitor()
{
var vlc = getVLC("vlc");
var newState = 0;
if( vlc )
{
newState = vlc.input.state;
}
if( prevState != newState )
{
if( newState == 0 )
{
// current media has stopped
onEnd();
}
else if( newState == 1 )
{
// current media is openning/connecting
onOpen();
}
else if( newState == 2 )
{
// current media is buffering data
onBuffer();
}
else if( newState == 3 )
{
// current media is now playing
onPlay();
}
else if( newState == 4 )
{
// current media is now paused
onPause();
}
else if( newState == 5 )
{
// current media has stopped
onStop();
}
else if( newState == 6 )
{
// current media has ended
onEnd();
}
else if( newState == 7 )
{
// current media encountered error
onError();
}
prevState = newState;
}
else if( newState == 3 )
{
// current media is playing
onPlaying();
}
};
/* actions */
function doGo(targetURL)
{
var vlc = getVLC("vlc");
if( vlc )
{
vlc.playlist.items.clear();
while( vlc.playlist.items.count > 0 )
{
// clear() may return before the playlist has actually been cleared
// just wait for it to finish its job
}
var options = [":rtsp-tcp"];
var itemId = vlc.playlist.add(targetURL,"",options);
options = [];
if( itemId != -1 )
{
// play MRL
vlc.playlist.playItem(itemId);
monitor();
}
else
{
alert("cannot play at the moment !");
}
doItemCount();
}
}
function doAdd(targetURL)
{
var vlc = getVLC("vlc");
var options = [":vout-filter=deinterlace", ":deinterlace-mode=linear"];
if( vlc )
{
vlc.playlist.add(targetURL, "", options);
options = [];
doItemCount();
}
}
function doPlayOrPause()
{
var vlc = getVLC("vlc");
if( vlc )
{
if( vlc.playlist.isPlaying )
{
vlc.playlist.togglePause();
monitor();
}
else if( vlc.playlist.items.count > 0 )
{
vlc.playlist.play();
monitor();
}
else
{
alert('nothing to play !');
}
}
}
function doStop()
{
var vlc = getVLC("vlc");
if( vlc )
vlc.playlist.stop();
onStop();
}
function doPlaySlower()
{
var vlc = getVLC("vlc");
if( vlc )
vlc.input.rate = vlc.input.rate / 2;
}
function doPlayFaster()
{
var vlc = getVLC("vlc");
if( vlc )
vlc.input.rate = vlc.input.rate * 2;
}
/* events */
function onOpen()
{
document.getElementById("state").innerHTML = "Opening...";
document.getElementById("PlayOrPause").value = "Pause";
}
function onBuffer()
{
document.getElementById("state").innerHTML = "Buffering...";
document.getElementById("PlayOrPause").value = "Pause";
}
function onPlay()
{
document.getElementById("state").innerHTML = "Playing...";
document.getElementById("PlayOrPause").value = "Pause";
onPlaying();
}
function onEnd()
{
document.getElementById("state").innerHTML = "End...";
doStop();
}
var liveFeedText = ["Live", "((Live))", "(( Live ))", "(( Live ))"];
var liveFeedRoll = 0;
function onPlaying()
{
var vlc = getVLC("vlc");
var info = document.getElementById("info");
if( vlc )
{
var mediaLen = vlc.input.length;
if( mediaLen > 0 )
{
info.innerHTML = formatTime(vlc.input.time)+"/"+formatTime(mediaLen);
}
else
{
// non-seekable "live" media
liveFeedRoll = liveFeedRoll & 3;
info.innerHTML = liveFeedText[liveFeedRoll++];
}
}
}
}
function onPause()
{
document.getElementById("state").innerHTML = "Paused...";
document.getElementById("PlayOrPause").value = " Play ";
}
function onStop()
{
document.getElementById("info").innerHTML = "-:--:--/-:--:--";
document.getElementById("state").innerHTML = "Stopped...";
document.getElementById("PlayOrPause").value = " Play ";
}
function onError()
{
document.getElementById("state").innerHTML = "Error...";
}
function doMarqueeOption(option, value)
{
var vlc = getVLC("vlc");
val = parseInt(value);
if( vlc )
{
if (option == 1)
vlc.video.marquee.color = val;
if (option == 2)
vlc.video.marquee.opacity = val;
if (option == 3)
vlc.video.marquee.position = value;
if (option == 4)
vlc.video.marquee.refresh = val;
if (option == 5)
vlc.video.marquee.size = val;
if (option == 6)
vlc.video.marquee.text = value;
if (option == 7)
vlc.video.marquee.timeout = val;
if (option == 8)
vlc.video.marquee.x = val;
if (option == 9)
vlc.video.marquee.y = val;
}
}
function doLogoOption(option, value)
{
var vlc = getVLC("vlc");
if( vlc )
{
if (option == 1)
vlc.video.logo.file(value);
if (option == 2)
vlc.video.logo.position = value;
val = parseInt(value);
if (option == 3)
vlc.video.logo.opacity = val;
if (option == 4)
vlc.video.logo.repeat = val;
if (option == 5)
vlc.video.logo.delay = val;
if (option == 6)
vlc.video.logo.x = val;
if (option == 7)
vlc.video.logo.y = val;
}
}
//-->
</SCRIPT>
</BODY>
</HTML>
</SELECT>
</TD>
</TR>
<TR>
<TD>
<INPUT
type=
button
id=
"telx"
value=
"Teletext off"
onClick=
'doToggleTeletext();'
>
Teletext page:
<INPUT
size=
4
value=
"100"
id=
"telxPage"
onClick=
'doTelxPage(document.getElementById("telxPage").value);'
>
</TD>
</TR>
</TABLE>
<SCRIPT
language=
"javascript"
>
<!--
var rate = 0;
var prevState = 0;
var monitorTimerId = 0;
var inputTracker;
var inputTrackerScrolling = false;
var inputTrackerIgnoreChange = false;
var telxState = false;
var canPause = true;
var canSeek = true;
function setPauseable(val)
{
canPause = val;
}
function setSeekable(val)
{
canSeek = val;
}
function doSetSlider()
{
var vlc = getVLC("vlc");
// set slider to new position
if( vlc )
vlc.input.time = (vlc.input.length/2);
}
function doGetPosition()
{
var vlc = getVLC("vlc");
// set slider to new position
if (vlc)
alert( "position is " + vlc.input.time);
}
function doReverse(rate)
{
var vlc = getVLC("vlc");
if( vlc )
vlc.input.rate = -1.0 * vlc.input.rate;
}
function doAudioChannel(value)
{
var vlc = getVLC("vlc");
if( vlc )
vlc.audio.channel = parseInt(value);
}
function doAudioTrack(value)
{
var vlc = getVLC("vlc");
if( vlc )
{
vlc.audio.track = vlc.audio.track + value;
document.getElementById("trackTextField").innerHTML = vlc.audio.track;
}
}
function doAspectRatio(value)
{
var vlc = getVLC("vlc");
if( vlc )
vlc.video.aspectRatio = value;
}
function doSubtitle(value)
{
var vlc = getVLC("vlc");
if( vlc )
{
vlc.subtitle.track = vlc.subtitle.track + value;
document.getElementById("spuTextField").innerHTML = vlc.subtitle.track;
}
}
function doTelxPage(value)
{
var vlc = getVLC("vlc");
if( vlc )
vlc.video.teletext = parseInt(value);
}
function doToggleTeletext()
{
var vlc = getVLC("vlc");
if( vlc )
{
vlc.video.toggleTeletext();
if (telxState)
{
document.getElementById("telx").innerHTML = "Teletext on";
telxState = true;
}
else
{
document.getElementById("telx").innerHTML = "Teletext off";
telxState = false;
}
}
}
function doItemCount()
{
var vlc = getVLC("vlc");
if( vlc )
{
var count = vlc.playlist.items.count;
document.getElementById("itemCount").value = " Items " + count + " ";
}
}
function doRemoveItem(item)
{
var vlc = getVLC("vlc");
if( vlc )
vlc.playlist.items.remove(item);
}
function doPlaylistClearAll()
{
var vlc = getVLC("vlc");
if( vlc )
{
vlc.playlist.items.clear();
while( vlc.playlist.items.count > 0)
{
// wait till playlist empties.
}
doItemCount();
}
}
function updateVolume(deltaVol)
{
var vlc = getVLC("vlc");
if( vlc )
{
vlc.audio.volume += deltaVol;
document.getElementById("volumeTextField").innerHTML = vlc.audio.volume+"%";
}
}
function formatTime(timeVal)
{
if( typeof timeVal != 'number' )
return "-:--:--";
var timeHour = Math.round(timeVal / 1000);
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 doState()
{
var vlc = getVLC("vlc");
var newState = 0;
if( vlc )
newState = vlc.input.state;
if( newState == 0 )
{
// current media has stopped
onEnd();
}
else if( newState == 1 )
{
// current media is openning/connecting
onOpen();
}
else if( newState == 2 )
{
// current media is buffering data
onBuffer();
}
else if( newState == 3 )
{
// current media is now playing
onPlay();
}
else if( newState == 4 )
{
// current media is now paused
onPause();
}
else if( newState == 5 )
{
// current media has stopped
onStop();
}
else if( newState == 6 )
{
// current media has ended
onEnd();
}
else if( newState == 7 )
{
// current media encountered error
onError();
}
}
function monitor()
{
var vlc = getVLC("vlc");
var newState = 0;
if( vlc )
{
newState = vlc.input.state;
}
if( prevState != newState )
{
if( newState == 0 )
{
// current media has stopped
onEnd();
}
else if( newState == 1 )
{
// current media is openning/connecting
onOpen();
}
else if( newState == 2 )
{
// current media is buffering data
onBuffer();
}
else if( newState == 3 )
{
// current media is now playing
onPlay();
}
else if( newState == 4 )
{
// current media is now paused
onPause();
}
else if( newState == 5 )
{
// current media has stopped
onStop();
}
else if( newState == 6 )
{
// current media has ended
onEnd();
}
else if( newState == 7 )
{
// current media encountered error
onError();
}
prevState = newState;
}
else if( newState == 3 )
{
// current media is playing
onPlaying();
}
if( monitorTimerId == 0 )
{
monitorTimerId = setInterval("monitor()", 1000);
}
};
/* actions */
function doGo(targetURL)
{
var vlc = getVLC("vlc");
if( vlc )
{
vlc.playlist.items.clear();
while( vlc.playlist.items.count > 0 )
{
// clear() may return before the playlist has actually been cleared
// just wait for it to finish its job
}
var options = [":rtsp-tcp"];
var itemId = vlc.playlist.add(targetURL,"",options);
options = [];
if( itemId != -1 )
{
// play MRL
vlc.playlist.playItem(itemId);
if( monitorTimerId == 0 )
{
monitor();
}
}
else
{
alert("cannot play at the moment !");
}
doItemCount();
}
}
function doAdd(targetURL)
{
var vlc = getVLC("vlc");
var options = [":vout-filter=deinterlace", ":deinterlace-mode=linear"];
if( vlc )
{
vlc.playlist.add(targetURL, "", options);
options = [];
doItemCount();
}
}
function doPlayOrPause()
{
var vlc = getVLC("vlc");
if( vlc )
{
if( vlc.playlist.isPlaying && canPause )
{
vlc.playlist.togglePause();
//monitor();
}
else if( vlc.playlist.items.count > 0 )
{
vlc.playlist.play();
//monitor();
}
else
{
alert('nothing to play !');
}
}
}
function doStop()
{
var vlc = getVLC("vlc");
if( vlc )
vlc.playlist.stop();
if( monitorTimerId != 0 )
{
clearInterval(monitorTimerId);
monitorTimerId = 0;
}
onStop();
}
function doPlaySlower()
{
var vlc = getVLC("vlc");
if( vlc )
vlc.input.rate = vlc.input.rate / 2;
}
function doPlayFaster()
{
var vlc = getVLC("vlc");
if( vlc )
vlc.input.rate = vlc.input.rate * 2;
}
function doMarqueeOption(option, value)
{
var vlc = getVLC("vlc");
val = parseInt(value);
if( vlc )
{
if (option == 1)
vlc.video.marquee.color = val;
if (option == 2)
vlc.video.marquee.opacity = val;
if (option == 3)
vlc.video.marquee.position = value;
if (option == 4)
vlc.video.marquee.refresh = val;
if (option == 5)
vlc.video.marquee.size = val;
if (option == 6)
vlc.video.marquee.text = value;
if (option == 7)
vlc.video.marquee.timeout = val;
if (option == 8)
vlc.video.marquee.x = val;
if (option == 9)
vlc.video.marquee.y = val;
}
}
function doLogoOption(option, value)
{
var vlc = getVLC("vlc");
if( vlc )
{
if (option == 1)
vlc.video.logo.file(value);
if (option == 2)
vlc.video.logo.position = value;
val = parseInt(value);
if (option == 3)
vlc.video.logo.opacity = val;
if (option == 4)
vlc.video.logo.repeat = val;
if (option == 5)
vlc.video.logo.delay = val;
if (option == 6)
vlc.video.logo.x = val;
if (option == 7)
vlc.video.logo.y = val;
}
}
/* events */
function onOpen()
{
document.getElementById("state").innerHTML = "Opening...";
document.getElementById("PlayOrPause").value = "Pause";
}
function onBuffer()
{
document.getElementById("state").innerHTML = "Buffering...";
document.getElementById("PlayOrPause").value = "Pause";
}
function onPlay()
{
document.getElementById("state").innerHTML = "Playing...";
document.getElementById("PlayOrPause").value = "Pause";
onPlaying();
}
function onEnd()
{
document.getElementById("state").innerHTML = "End...";
}
var liveFeedText = ["Live", "((Live))", "(( Live ))", "(( Live ))"];
var liveFeedRoll = 0;
function onPlaying()
{
if( !inputTrackerScrolling )
{
var vlc = getVLC("vlc");
var info = document.getElementById("info");
if( vlc )
{
var mediaLen = vlc.input.length;
inputTrackerIgnoreChange = true;
if( mediaLen > 0 )
{
// seekable media
if( inputTracker )
{
if( inputTracker.maxVal == 1.0 )
{
inputTracker.setDisabled(false);
inputTracker.maxVal = 1.0;
}
inputTracker.setValue(vlc.input.position);
}
info.innerHTML = formatTime(vlc.input.time)+"/"+formatTime(mediaLen);
}
else
{
// non-seekable "live" media
if( inputTracker )
{
if( inputTracker.maxVal != 0.0 )
{
inputTracker.maxVal = 0.0;
inputTracker.setValue(0.0);
inputTracker.setDisabled(true);
}
}
liveFeedRoll = liveFeedRoll & 3;
info.innerHTML = liveFeedText[liveFeedRoll++];
}
inputTrackerIgnoreChange = false;
}
}
}
function onPause()
{
document.getElementById("state").innerHTML = "Paused...";
document.getElementById("PlayOrPause").value = " Play ";
}
function onStop()
{
var vlc = getVLC("vlc");
if( inputTracker )
{
if( !inputTracker.disabled )
{
inputTracker.setValue(inputTracker.minVal);
inputTracker.setDisabled(true);
}
}
document.getElementById("info").innerHTML = "-:--:--/-:--:--";
document.getElementById("state").innerHTML = "Stopped...";
document.getElementById("PlayOrPause").value = " Play ";
}
function onError()
{
var vlc = getVLC("vlc");
document.getElementById("state").innerHTML = "Error...";
}
function onInputTrackerScrollStart()
{
inputTrackerScrolling = true;
}
function onInputTrackerScrollEnd(inputTracker, value, pos)
{
inputTrackerScrolling = false;
}
function onInputTrackerChange(inputTracker, value, pos)
{
if( !inputTrackerIgnoreChange )
{
var vlc = getVLC("vlc");
if( vlc )
{
if( (vlc.input.state == 3) && (vlc.input.position != value) )
{
var info = document.getElementById("info");
vlc.input.position = value;
info.innerHTML = formatTime(vlc.input.time)+"/"+formatTime(vlc.input.length);
}
}
}
}
//-->
</SCRIPT>
</BODY>
</HTML>
projects/mozilla/test.html
View file @
a624aaeb
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML>
<TITLE>
VLC Plugin test page
</TITLE>
<STYLE>
.inputTrackerInput {
height:20;
width:30;
font-family : Arial, Helvetica, sans-serif;
font-size : 12px;
}
</STYLE>
<SCRIPT
type=
"text/javascript"
src=
"blueshoes-4.5/javascript/lib/LibCrossBrowser.js"
></SCRIPT>
<SCRIPT
type=
"text/javascript"
src=
"blueshoes-4.5/javascript/lib/EventHandler.js"
></SCRIPT>
<SCRIPT
type=
"text/javascript"
src=
"blueshoes-4.5/javascript/core/form/Bs_FormUtil.lib.js"
></SCRIPT>
<SCRIPT
type=
"text/javascript"
src=
"blueshoes-4.5/javascript/components/slider/Bs_Slider.class.js"
></SCRIPT>
<SCRIPT
language=
"JavaScript"
>
<!--
function init()
{
inputTracker = new Bs_Slider();
if (inputTracker)
{
inputTracker.attachOnChange(onInputTrackerChange);
inputTracker.attachOnSlideStart(onInputTrackerScrollStart);
inputTracker.attachOnSlideEnd(onInputTrackerScrollEnd);
inputTracker.width = 530 ;
inputTracker.height = 15;
inputTracker.minVal = 0;
inputTracker.maxVal = 1.0;
inputTracker.valueDefault = 0;
inputTracker.valueInterval = 1/530;
inputTracker.setDisabled(true);
inputTracker.imgDir = 'blueshoes-4.5/javascript/components/slider/img/';
inputTracker.setBackgroundImage('aluminumalloyvolcanic/horizontal_background.gif', 'repeat');
inputTracker.setArrowIconLeft('aluminumalloyvolcanic/horizontal_backgroundLeft.gif', 2, 19);
inputTracker.setArrowIconRight('aluminumalloyvolcanic/horizontal_backgroundRight.gif', 2, 19);
inputTracker.setSliderIcon('aluminumalloyvolcanic/horizontal_knob.gif', 15, 19);
inputTracker.useInputField = 0;
inputTracker.draw('inputTrackerDiv');
}
if( navigator.appName.indexOf("Microsoft Internet")==-1 )
{
onVLCPluginReady()
}
else if( document.readyState == 'complete' )
{
onVLCPluginReady();
}
else
{
/* Explorer loads plugins asynchronously */
document.onreadystatechange=function()
{
if( document.readyState == 'complete' )
{
onVLCPluginReady();
}
}
}
}
function getVLC(name)
{
if (window.document[name])
{
return window.document[name];
}
if (navigator.appName.indexOf("Microsoft Internet")==-1)
{
if (document.embeds && document.embeds[name])
return document.embeds[name];
}
else // if (navigator.appName.indexOf("Microsoft Internet")!=-1)
{
return document.getElementById(name);
}
}
function onVLCPluginReady()
{
updateVolume(0);
}
//-->
</SCRIPT>
<BODY
onLoad=
"init();"
>
<TABLE>
<TR><TD
colspan=
"2"
>
MRL:
<INPUT
size=
"90"
id=
"targetTextField"
value=
""
>
<INPUT
type=
submit
value=
"Go"
onClick=
"doGo(document.getElementById('targetTextField').value);"
>
<INPUT
type=
submit
value=
"Add"
onClick=
"doAdd(document.getElementById('targetTextField').value);"
>
</TD></TR>
<TR><TD
align=
"center"
colspan=
"2"
>
<!--
Insert VideoLAN.VLCPlugin.2
-->
<OBJECT
classid=
"clsid:9BE31822-FDAD-461B-AD51-BE1D1C159921"
width=
"640"
height=
"480"
id=
"vlc"
events=
"True"
>
<param
name=
"MRL"
value=
""
/>
<param
name=
"ShowDisplay"
value=
"True"
/>
<param
name=
"AutoLoop"
value=
"False"
/>
<param
name=
"AutoPlay"
value=
"False"
/>
<param
name=
"Volume"
value=
"50"
/>
<param
name=
"toolbar"
value=
"true"
/>
<param
name=
"StartTime"
value=
"0"
/>
<EMBED
pluginspage=
"http://www.videolan.org"
type=
"application/x-vlc-plugin"
version=
"VideoLAN.VLCPlugin.2"
width=
"640"
height=
"480"
toolbar=
"true"
text=
"Waiting for video"
name=
"vlc"
>
</EMBED>
</OBJECT>
</TD></TR>
<TR><TD
colspan=
"2"
>
<TABLE><TR>
<TD
valign=
"top"
width=
"550"
>
<!--
Insert Slider widget
-->
<DIV
id=
"inputTrackerDiv"
</
DIV
>
</TD><TD
width=
"15%"
>
<DIV
id=
"info"
style=
"text-align:center"
>
-:--:--/-:--:--
</DIV>
<DIV
id=
"state"
style=
"text-align:center"
>
Stopped...
</DIV>
</TD></TR></TABLE>
</TD></TR>
<TR><TD>
<INPUT
type=
button
id=
"PlayOrPause"
value=
" Play "
onClick=
'doPlayOrPause();'
>
<INPUT
type=
button
value=
"Stop"
onClick=
'doStop();'
>
<INPUT
type=
button
value=
" << "
onClick=
'doPlaySlower();'
>
<INPUT
type=
button
value=
"Reverse"
onClick=
'doReverse();'
>
<INPUT
type=
button
value=
" >> "
onClick=
'doPlayFaster();'
>
<INPUT
type=
button
value=
"Fullscreen"
onClick=
'getVLC("vlc").video.toggleFullscreen();'
>
<INPUT
type=
button
value=
"Version"
onClick=
'alert("vlc " + getVLC("vlc").VersionInfo);'
>
<INPUT
type=
button
value=
" State "
onClick=
'alert("state: " + getVLC("vlc").input.state);'
>
</TD><TD
align=
"right"
>
<SPAN
style=
"text-align:center"
>
Volume:
</SPAN>
<INPUT
type=
button
value=
" - "
onClick=
'updateVolume(-10)'
>
<SPAN
id=
"volumeTextField"
style=
"text-align:center"
>
--
</SPAN>
<INPUT
type=
button
value=
" + "
onClick=
'updateVolume(+10)'
>
<INPUT
type=
button
value=
"Mute"
onClick=
'getVLC("vlc").audio.toggleMute();'
>
</TD>
</TR>
<TR><TD>
Playlist:
<INPUT
type=
button
value=
"Prev"
onClick=
'getVLC("vlc").playlist.prev();'
>
<INPUT
type=
button
value=
"Next"
onClick=
'getVLC("vlc").playlist.next();'
>
<INPUT
type=
button
value=
"Clear All"
onClick=
'doPlaylistClearAll();'
>
Aspect Ratio:
<SELECT
readonly
onChange=
'doAspectRatio(this.value)'
>
<OPTION
value=
"default"
>
Default
</OPTION>
<OPTION
value=
"1:1"
>
1:1
</OPTION>
<OPTION
value=
"4:3"
>
4:3
</OPTION>
<OPTION
value=
"16:9"
>
16:9
</OPTION>
<OPTION
value=
"221:100"
>
221:100
</OPTION>
<OPTION
value=
"5:4"
>
5:4
</OPTION>
</SELECT>
</TD><TD
align=
"right"
>
<INPUT
type=
button
id=
"itemCount"
value=
" Items 0 "
onClick=
'doItemCount();'
>
<INPUT
size=
4
value=
""
id=
"removeid"
><INPUT
type=
submit
value=
"Delete"
onClick=
"doRemoveItem(document.getElementById('removeid').value);"
>
</TD>
</TR>
<TR><TD>
Audio Channel:
<SELECT
readonly
onClick=
'doAudioChannel(this.value);'
>
<OPTION
value=
1
>
Stereo
</OPTION>
<OPTION
value=
2
>
Reverse Stereo
</OPTION>
<OPTION
value=
3
>
Left
</OPTION>
<OPTION
value=
4
>
Right
</OPTION>
<OPTION
value=
5
>
Dolby
</OPTION>
</SELECT>
</TD>
<TD>
<INPUT
type=
button
value=
"current channel"
onClick=
'alert(getVLC("vlc").audio.channel);'
>
</TD>
</TR>
<TR><TD>
Audio Track:
<INPUT
type=
button
value=
" + "
onClick=
'doAudioTrack(1);'
>
<SPAN
id=
"trackTextField"
style=
"text-align:center"
>
--
</SPAN>
<INPUT
type=
button
value=
" - "
onClick=
'doAudioTrack(-1);'
>
<INPUT
type=
button
value=
"current track"
onClick=
'alert(getVLC("vlc").audio.description(vlc.audio.track));'
>
<INPUT
type=
button
value=
"number of track"
onClick=
'alert(getVLC("vlc").audio.count);'
>
</TD>
<TD>
<INPUT
type=
button
value=
"set slider"
onClick=
'doSetSlider();'
>
<INPUT
type=
button
value=
"get position"
onClick=
'doGetPosition();'
>
</TD>
</TR>
<TR>
<TD>
Video Subtitle:
<INPUT
type=
button
value=
" + "
onClick=
'doSubtitle(1);'
>
<SPAN
id=
"spuTextField"
style=
"text-align:center"
>
--
</SPAN>
<INPUT
type=
button
value=
" - "
onClick=
'doSubtitle(-1);'
>
<INPUT
type=
button
value=
"current subtitle"
onClick=
'alert(getVLC("vlc").subtitle.description(vlc.subtitle.track));'
>
<INPUT
type=
button
value=
"number of subtitle"
onClick=
'alert(getVLC("vlc").subtitle.count);'
>
</TD>
</TR>
<TR>
<TD>
Deinterlacing:
<INPUT
type=
button
value=
"BLEND"
onClick=
'getVLC("vlc").video.deinterlace.enable("blend");'
>
<INPUT
type=
button
value=
" X "
onClick=
'getVLC("vlc").video.deinterlace.enable("x");'
>
<INPUT
type=
button
value=
"Disable"
onClick=
'getVLC("vlc").video.deinterlace.disable();'
>
</TD>
</TR>
<TR>
<TD>
Marquee video filter:
<INPUT
type=
button
value=
"Enable"
onClick=
'getVLC("vlc").video.marquee.enable();'
>
<INPUT
type=
button
value=
"Disable"
onClick=
'getVLC("vlc").video.marquee.disable();'
>
<INPUT
size=
4
value=
""
id=
"marqueeIntValue"
>
<SELECT
readonly
onClick=
"doMarqueeOption(this.value,document.getElementById('marqueeIntValue').value);"
>
<OPTION
value=
1
>
Color
</OPTION>
<OPTION
value=
2
>
Opacity
</OPTION>
<OPTION
value=
3
>
Position
</OPTION>
<OPTION
value=
4
>
Refresh
</OPTION>
<OPTION
value=
5
>
Size
</OPTION>
<OPTION
value=
6
>
Text
</OPTION>
<OPTION
value=
7
>
Timeout
</OPTION>
<OPTION
value=
8
>
X
</OPTION>
<OPTION
value=
9
>
Y
</OPTION>
</SELECT>
</TD>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML>
<TITLE>
VLC Plugin test page
</TITLE>
<STYLE>
.inputTrackerInput {
height:20;
width:30;
font-family : Arial, Helvetica, sans-serif;
font-size : 12px;
}
</STYLE>
<SCRIPT
type=
"text/javascript"
src=
"blueshoes-4.5/javascript/lib/LibCrossBrowser.js"
></SCRIPT>
<SCRIPT
type=
"text/javascript"
src=
"blueshoes-4.5/javascript/lib/EventHandler.js"
></SCRIPT>
<SCRIPT
type=
"text/javascript"
src=
"blueshoes-4.5/javascript/core/form/Bs_FormUtil.lib.js"
></SCRIPT>
<SCRIPT
type=
"text/javascript"
src=
"blueshoes-4.5/javascript/components/slider/Bs_Slider.class.js"
></SCRIPT>
<SCRIPT
language=
"JavaScript"
>
<!--
function init()
{
inputTracker = new Bs_Slider();
if (inputTracker)
{
inputTracker.attachOnChange(onInputTrackerChange);
inputTracker.attachOnSlideStart(onInputTrackerScrollStart);
inputTracker.attachOnSlideEnd(onInputTrackerScrollEnd);
inputTracker.width = 530;
inputTracker.height = 15;
inputTracker.minVal = 0;
inputTracker.maxVal = 1.0;
inputTracker.valueDefault = 0;
inputTracker.valueInterval = 1/530;
inputTracker.setDisabled(true);
inputTracker.imgDir = 'blueshoes-4.5/javascript/components/slider/img/';
inputTracker.setBackgroundImage('aluminumalloyvolcanic/horizontal_background.gif', 'repeat');
inputTracker.setArrowIconLeft('aluminumalloyvolcanic/horizontal_backgroundLeft.gif', 2, 19);
inputTracker.setArrowIconRight('aluminumalloyvolcanic/horizontal_backgroundRight.gif', 2, 19);
inputTracker.setSliderIcon('aluminumalloyvolcanic/horizontal_knob.gif', 15, 19);
inputTracker.useInputField = 0;
inputTracker.draw('inputTrackerDiv');
}
if( navigator.appName.indexOf("Microsoft Internet")==-1 )
{
onVLCPluginReady()
}
else if( document.readyState == 'complete' )
{
onVLCPluginReady();
}
else
{
/* Explorer loads plugins asynchronously */
document.onreadystatechange=function()
{
if( document.readyState == 'complete' )
{
onVLCPluginReady();
}
}
}
}
function getVLC(name)
{
if (window.document[name])
{
return window.document[name];
}
if (navigator.appName.indexOf("Microsoft Internet")==-1)
{
if (document.embeds && document.embeds[name])
return document.embeds[name];
}
else // if (navigator.appName.indexOf("Microsoft Internet")!=-1)
{
return document.getElementById(name);
}
}
function registerVLCEvent(event, handler)
{
var vlc = getVLC("vlc");
if (vlc) {
if (vlc.attachEvent) {
// Microsoft
vlc.attachEvent (event, handler);
} else if (vlc.addEventListener) {
// Mozilla: DOM level 2
vlc.addEventListener (event, handler, true);
} else {
// DOM level 0
eval("vlc.on" + event + " = handler");
}
}
}
function unregisterVLCEvent(event, handler)
{
var vlc = getVLC("vlc");
if (vlc) {
if (vlc.detachEvent) {
// Microsoft
vlc.detachEvent (event, handler);
} else if (vlc.removeEventListener) {
// Mozilla: DOM level 2
vlc.removeEventListener (event, handler, true);
} else {
// DOM level 0
eval("vlc.on" + event + " = null");
}
}
}
// JS VLC API callbacks
function handleMediaPlayerMediaChanged()
{
document.getElementById("info").innerHTML = "Media Changed";
}
function handle_MediaPlayerNothingSpecial()
{
document.getElementById("state").innerHTML = "Idle...";
}
function handle_MediaPlayerOpening()
{
onOpen();
}
function handle_MediaPlayerBuffering(val)
{
document.getElementById("info").innerHTML = val + "%";
}
function handle_MediaPlayerPlaying()
{
onPlay();
}
function handle_MediaPlayerPaused()
{
onPause();
}
function handle_MediaPlayerStopped()
{
onStop();
}
function handle_MediaPlayerForward()
{
document.getElementById("state").innerHTML = "Forward...";
}
function handle_MediaPlayerBackward()
{
document.getElementById("state").innerHTML = "Backward...";
}
function handle_MediaPlayerEndReached()
{
onEnd();
}
function handle_MediaPlayerEncounteredError()
{
onError();
}
function handle_MediaPlayerTimeChanged(time)
{
var vlc = getVLC("vlc");
var info = document.getElementById("info");
if( vlc )
{
var mediaLen = vlc.input.length;
if( mediaLen > 0 )
{
// seekable media
info.innerHTML = formatTime(time)+"/"+formatTime(mediaLen);
}
}
}
function handle_MediaPlayerPositionChanged(val)
{
// set javascript slider to correct position
}
function handle_MediaPlayerSeekableChanged(val)
{
setSeekable(val);
}
function handle_MediaPlayerPausableChanged(val)
{
setPauseable(val);
}
function handle_MediaPlayerTitleChanged(val)
{
//setTitle(val);
document.getElementById("info").innerHTML = "Title: " + val;
}
function handle_MediaPlayerLengthChanged(val)
{
//setMediaLength(val);
}
// VLC Plugin
function onVLCPluginReady()
{
registerVLCEvent("MediaPlayerMediaChanged", handleMediaPlayerMediaChanged);
registerVLCEvent("MediaPlayerNothingSpecial", handle_MediaPlayerNothingSpecial);
registerVLCEvent("MediaPlayerOpening", handle_MediaPlayerOpening);
registerVLCEvent("MediaPlayerBuffering", handle_MediaPlayerBuffering);
registerVLCEvent("MediaPlayerPlaying", handle_MediaPlayerPlaying);
registerVLCEvent("MediaPlayerPaused", handle_MediaPlayerPaused);
registerVLCEvent("MediaPlayerStopped", handle_MediaPlayerStopped);
registerVLCEvent("MediaPlayerForward", handle_MediaPlayerForward);
registerVLCEvent("MediaPlayerBackward", handle_MediaPlayerBackward);
registerVLCEvent("MediaPlayerEndReached", handle_MediaPlayerEndReached);
registerVLCEvent("MediaPlayerEncounteredError", handle_MediaPlayerEncounteredError);
registerVLCEvent("MediaPlayerTimeChanged", handle_MediaPlayerTimeChanged);
registerVLCEvent("MediaPlayerPositionChanged", handle_MediaPlayerPositionChanged);
registerVLCEvent("MediaPlayerSeekableChanged", handle_MediaPlayerSeekableChanged);
registerVLCEvent("MediaPlayerPausableChanged", handle_MediaPlayerPausableChanged);
registerVLCEvent("MediaPlayerTitleChanged", handle_MediaPlayerTitleChanged);
registerVLCEvent("MediaPlayerLengthChanged", handle_MediaPlayerLengthChanged);
}
function close()
{
unregisterVLCEvent('MediaPlayerMouseGrab', handleMouseGrab);
unregisterVLCEvent('MediaPlayerMouseRelease', handleMouseRelease);
unregisterVLCEvent('MediaPlayerMouseClick', handleMouseClick);
unregisterVLCEvent("MediaPlayerMediaChanged", handleMediaPlayerMediaChanged);
unregisterVLCEvent("MediaPlayerNothingSpecial", handle_MediaPlayerNothingSpecial);
unregisterVLCEvent("MediaPlayerOpening", handle_MediaPlayerOpening);
unregisterVLCEvent("MediaPlayerBuffering", handle_MediaPlayerBuffering);
unregisterVLCEvent("MediaPlayerPlaying", handle_MediaPlayerPlaying);
unregisterVLCEvent("MediaPlayerPaused", handle_MediaPlayerPaused);
unregisterVLCEvent("MediaPlayerStopped", handle_MediaPlayerStopped);
unregisterVLCEvent("MediaPlayerForward", handle_MediaPlayerForward);
unregisterVLCEvent("MediaPlayerBackward", handle_MediaPlayerBackward);
unregisterVLCEvent("MediaPlayerEndReached", handle_MediaPlayerEndReached);
unregisterVLCEvent("MediaPlayerEncounteredError", handle_MediaPlayerEncounteredError);
unregisterVLCEvent("MediaPlayerTimeChanged", handle_MediaPlayerTimeChanged);
unregisterVLCEvent("MediaPlayerPositionChanged", handle_MediaPlayerPositionChanged);
unregisterVLCEvent("MediaPlayerSeekableChanged", handle_MediaPlayerSeekableChanged);
unregisterVLCEvent("MediaPlayerPausableChanged", handle_MediaPlayerPausableChanged);
unregisterVLCEvent("MediaPlayerTitleChanged", handle_MediaPlayerTitleChanged);
unregisterVLCEvent("MediaPlayerLengthChanged", handle_MediaPlayerLengthChanged);
}
//-->
</SCRIPT>
<BODY
onLoad=
"init();"
onClose=
"close();"
>
<TABLE>
<TR><TD
colspan=
"2"
>
MRL:
<INPUT
size=
"90"
id=
"targetTextField"
value=
""
>
<INPUT
type=
submit
value=
"Go"
onClick=
"doGo(document.getElementById('targetTextField').value);"
>
<INPUT
type=
submit
value=
"Add"
onClick=
"doAdd(document.getElementById('targetTextField').value);"
>
</TD></TR>
<TR><TD
align=
"center"
colspan=
"2"
>
<!--
Insert VideoLAN.VLCPlugin.2
-->
<OBJECT
classid=
"clsid:9BE31822-FDAD-461B-AD51-BE1D1C159921"
width=
"640"
height=
"480"
id=
"vlc"
events=
"True"
>
<param
name=
"MRL"
value=
""
/>
<param
name=
"ShowDisplay"
value=
"True"
/>
<param
name=
"AutoLoop"
value=
"False"
/>
<param
name=
"AutoPlay"
value=
"False"
/>
<param
name=
"Volume"
value=
"50"
/>
<param
name=
"toolbar"
value=
"true"
/>
<param
name=
"StartTime"
value=
"0"
/>
<EMBED
pluginspage=
"http://www.videolan.org"
type=
"application/x-vlc-plugin"
version=
"VideoLAN.VLCPlugin.2"
width=
"640"
height=
"480"
toolbar=
"true"
text=
"Waiting for video"
name=
"vlc"
>
</EMBED>
</OBJECT>
</TD></TR>
<TR><TD
colspan=
"2"
>
<TABLE><TR>
<TD
valign=
"top"
width=
"550"
>
<!--
Insert Slider widget
-->
<DIV
id=
"inputTrackerDiv"
</
DIV
>
</TD><TD
width=
"15%"
>
<DIV
id=
"info"
style=
"text-align:center"
>
-:--:--/-:--:--
</DIV>
<DIV
id=
"state"
style=
"text-align:center"
>
Stopped...
</DIV>
</TD></TR></TABLE>
</TD></TR>
<TR><TD>
<INPUT
type=
button
id=
"PlayOrPause"
value=
" Play "
onClick=
'doPlayOrPause();'
>
<INPUT
type=
button
value=
"Stop"
onClick=
'doStop();'
>
<INPUT
type=
button
value=
" << "
onClick=
'doPlaySlower();'
>
<INPUT
type=
button
value=
"Reverse"
onClick=
'doReverse();'
>
<INPUT
type=
button
value=
" >> "
onClick=
'doPlayFaster();'
>
<INPUT
type=
button
value=
"Fullscreen"
onClick=
'getVLC("vlc").video.toggleFullscreen();'
>
<INPUT
type=
button
value=
"Version"
onClick=
'alert("vlc " + getVLC("vlc").VersionInfo);'
>
<INPUT
type=
button
value=
" State "
onClick=
'alert("state: " + getVLC("vlc").input.state);'
>
</TD><TD
align=
"right"
>
<SPAN
style=
"text-align:center"
>
Volume:
</SPAN>
<INPUT
type=
button
value=
" - "
onClick=
'updateVolume(-10)'
>
<SPAN
id=
"volumeTextField"
style=
"text-align:center"
>
--
</SPAN>
<INPUT
type=
button
value=
" + "
onClick=
'updateVolume(+10)'
>
<INPUT
type=
button
value=
"Mute"
onClick=
'getVLC("vlc").audio.toggleMute();'
>
</TD>
</TR>
<TR><TD>
Playlist:
<INPUT
type=
button
value=
"Prev"
onClick=
'getVLC("vlc").playlist.prev();'
>
<INPUT
type=
button
value=
"Next"
onClick=
'getVLC("vlc").playlist.next();'
>
<INPUT
type=
button
value=
"Clear All"
onClick=
'doPlaylistClearAll();'
>
Aspect Ratio:
<SELECT
readonly
onChange=
'doAspectRatio(this.value)'
>
<OPTION
value=
"default"
>
Default
</OPTION>
<OPTION
value=
"1:1"
>
1:1
</OPTION>
<OPTION
value=
"4:3"
>
4:3
</OPTION>
<OPTION
value=
"16:9"
>
16:9
</OPTION>
<OPTION
value=
"221:100"
>
221:100
</OPTION>
<OPTION
value=
"5:4"
>
5:4
</OPTION>
</SELECT>
</TD><TD
align=
"right"
>
<INPUT
type=
button
id=
"itemCount"
value=
" Items 0 "
onClick=
'doItemCount();'
>
<INPUT
size=
4
value=
""
id=
"removeid"
><INPUT
type=
submit
value=
"Delete"
onClick=
"doRemoveItem(document.getElementById('removeid').value);"
>
</TD>
</TR>
<TR><TD>
Audio Channel:
<SELECT
readonly
onClick=
'doAudioChannel(this.value);'
>
<OPTION
value=
1
>
Stereo
</OPTION>
<OPTION
value=
2
>
Reverse Stereo
</OPTION>
<OPTION
value=
3
>
Left
</OPTION>
<OPTION
value=
4
>
Right
</OPTION>
<OPTION
value=
5
>
Dolby
</OPTION>
</SELECT>
</TD>
<TD>
<INPUT
type=
button
value=
"current channel"
onClick=
'alert(getVLC("vlc").audio.channel);'
>
</TD>
</TR>
<TR><TD>
Audio Track:
<INPUT
type=
button
value=
" + "
onClick=
'doAudioTrack(1);'
>
<SPAN
id=
"trackTextField"
style=
"text-align:center"
>
--
</SPAN>
<INPUT
type=
button
value=
" - "
onClick=
'doAudioTrack(-1);'
>
<INPUT
type=
button
value=
"current track"
onClick=
'alert(getVLC("vlc").audio.description(vlc.audio.track));'
>
<INPUT
type=
button
value=
"number of track"
onClick=
'alert(getVLC("vlc").audio.count);'
>
</TD>
<TD>
<INPUT
type=
button
value=
"set slider"
onClick=
'doSetSlider();'
>
<INPUT
type=
button
value=
"get position"
onClick=
'doGetPosition();'
>
</TD>
</TR>
<TR>
<TD>
Video Subtitle:
<INPUT
type=
button
value=
" + "
onClick=
'doSubtitle(1);'
>
<SPAN
id=
"spuTextField"
style=
"text-align:center"
>
--
</SPAN>
<INPUT
type=
button
value=
" - "
onClick=
'doSubtitle(-1);'
>
<INPUT
type=
button
value=
"current subtitle"
onClick=
'alert(getVLC("vlc").subtitle.description(vlc.subtitle.track));'
>
<INPUT
type=
button
value=
"number of subtitle"
onClick=
'alert(getVLC("vlc").subtitle.count);'
>
</TD>
</TR>
<TR>
<TD>
Deinterlacing:
<INPUT
type=
button
value=
"BLEND"
onClick=
'getVLC("vlc").video.deinterlace.enable("blend");'
>
<INPUT
type=
button
value=
" X "
onClick=
'getVLC("vlc").video.deinterlace.enable("x");'
>
<INPUT
type=
button
value=
"Disable"
onClick=
'getVLC("vlc").video.deinterlace.disable();'
>
</TD>
</TR>
<TR>
<TD>
Marquee video filter:
<INPUT
type=
button
value=
"Enable"
onClick=
'getVLC("vlc").video.marquee.enable();'
>
<INPUT
type=
button
value=
"Disable"
onClick=
'getVLC("vlc").video.marquee.disable();'
>
<INPUT
size=
4
value=
""
id=
"marqueeIntValue"
>
<SELECT
readonly
onClick=
"doMarqueeOption(this.value,document.getElementById('marqueeIntValue').value);"
>
<OPTION
value=
1
>
Color
</OPTION>
<OPTION
value=
2
>
Opacity
</OPTION>
<OPTION
value=
3
>
Position
</OPTION>
<OPTION
value=
4
>
Refresh
</OPTION>
<OPTION
value=
5
>
Size
</OPTION>
<OPTION
value=
6
>
Text
</OPTION>
<OPTION
value=
7
>
Timeout
</OPTION>
<OPTION
value=
8
>
X
</OPTION>
<OPTION
value=
9
>
Y
</OPTION>
</SELECT>
</TD>
</TR>
<TR>
<TD>
Logo video filter:
<INPUT
type=
button
value=
"Enable"
onClick=
'getVLC("vlc").video.logo.enable();'
>
<INPUT
type=
button
value=
"Disable"
onClick=
'getVLC("vlc").video.logo.disable();'
>
<INPUT
size=
4
value=
""
id=
"logoIntValue"
>
<SELECT
readonly
onClick=
"doLogoOption(this.value,document.getElementById('logoIntValue').value);"
>
<OPTION
value=
1
>
File
</OPTION>
<OPTION
value=
2
>
Position
</OPTION>
<OPTION
value=
3
>
Opacity
</OPTION>
<OPTION
value=
4
>
Repeat
</OPTION>
<OPTION
value=
5
>
Delay
</OPTION>
<OPTION
value=
6
>
X
</OPTION>
<TR>
<TD>
Logo video filter:
<INPUT
type=
button
value=
"Enable"
onClick=
'getVLC("vlc").video.logo.enable();'
>
<INPUT
type=
button
value=
"Disable"
onClick=
'getVLC("vlc").video.logo.disable();'
>
<INPUT
size=
4
value=
""
id=
"logoIntValue"
>
<SELECT
readonly
onClick=
"doLogoOption(this.value,document.getElementById('logoIntValue').value);"
>
<OPTION
value=
1
>
File
</OPTION>
<OPTION
value=
2
>
Position
</OPTION>
<OPTION
value=
3
>
Opacity
</OPTION>
<OPTION
value=
4
>
Repeat
</OPTION>
<OPTION
value=
5
>
Delay
</OPTION>
<OPTION
value=
6
>
X
</OPTION>
<OPTION
value=
7
>
Y
</OPTION>
</SELECT>
</TD>
</TR>
<TR>
<TD>
<INPUT
type=
button
id=
"telx"
value=
"Teletext off"
onClick=
'doToggleTeletext();'
>
Teletext page:
<INPUT
size=
4
value=
"100"
id=
"telxPage"
onClick=
'doTelxPage(document.getElementById("telxPage").value);'
>
</TD>
</TR>
</TABLE>
<SCRIPT
language=
"javascript"
>
<!--
var rate = 0;
var prevState = 0;
var monitorTimerId = 0;
var inputTracker;
var inputTrackerScrolling = false;
var inputTrackerIgnoreChange = false;
var telxState = false;
function doSetSlider()
{
var vlc = getVLC("vlc");
// set slider to new position
if( vlc )
vlc.input.time = (vlc.input.length/2);
}
function doGetPosition()
{
var vlc = getVLC("vlc");
// set slider to new position
if (vlc)
alert( "position is " + vlc.input.time);
}
function doReverse(rate)
{
var vlc = getVLC("vlc");
if( vlc )
vlc.input.rate = -1.0 * vlc.input.rate;
}
function doAudioChannel(value)
{
var vlc = getVLC("vlc");
if( vlc )
vlc.audio.channel = parseInt(value);
}
function doAudioTrack(value)
{
var vlc = getVLC("vlc");
if( vlc )
{
vlc.audio.track = vlc.audio.track + value;
document.getElementById("trackTextField").innerHTML = vlc.audio.track;
}
}
function doAspectRatio(value)
{
var vlc = getVLC("vlc");
if( vlc )
vlc.video.aspectRatio = value;
}
function doSubtitle(value)
{
var vlc = getVLC("vlc");
if( vlc )
{
vlc.subtitle.track = vlc.subtitle.track + value;
document.getElementById("spuTextField").innerHTML = vlc.subtitle.track;
}
}
function doTelxPage(value)
{
var vlc = getVLC("vlc");
if( vlc )
vlc.video.teletext = parseInt(value);
}
function doToggleTeletext()
{
var vlc = getVLC("vlc");
if( vlc )
{
vlc.video.toggleTeletext();
if (telxState)
{
document.getElementById("telx").innerHTML = "Teletext on";
telxState = true;
}
else
{
document.getElementById("telx").innerHTML = "Teletext off";
telxState = false;
}
}
}
function doItemCount()
{
var vlc = getVLC("vlc");
if( vlc )
{
var count = vlc.playlist.items.count;
document.getElementById("itemCount").value = " Items " + count + " ";
}
}
function doRemoveItem(item)
{
var vlc = getVLC("vlc");
if( vlc )
vlc.playlist.items.remove(item);
}
function doPlaylistClearAll()
{
var vlc = getVLC("vlc");
if( vlc )
{
vlc.playlist.items.clear();
while( vlc.playlist.items.count > 0)
{
// wait till playlist empties.
}
doItemCount();
}
}
function updateVolume(deltaVol)
{
var vlc = getVLC("vlc");
if( vlc )
{
vlc.audio.volume += deltaVol;
document.getElementById("volumeTextField").innerHTML = vlc.audio.volume+"%";
}
}
function formatTime(timeVal)
{
if( typeof timeVal != 'number' )
return "-:--:--";
var timeHour = Math.round(timeVal / 1000);
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 doState()
{
var vlc = getVLC("vlc");
var newState = 0;
if( vlc )
newState = vlc.input.state;
if( newState == 0 )
{
// current media has stopped
onEnd();
}
else if( newState == 1 )
{
// current media is openning/connecting
onOpen();
}
else if( newState == 2 )
{
// current media is buffering data
onBuffer();
}
else if( newState == 3 )
{
// current media is now playing
onPlay();
}
else if( newState == 4 )
{
// current media is now paused
onPause();
}
else if( newState == 5 )
{
// current media has stopped
onStop();
}
else if( newState == 6 )
{
// current media has ended
onEnd();
}
else if( newState == 7 )
{
// current media encountered error
onError();
}
}
function monitor()
{
var vlc = getVLC("vlc");
var newState = 0;
if( vlc )
{
newState = vlc.input.state;
}
if( prevState != newState )
{
if( newState == 0 )
{
// current media has stopped
onEnd();
}
else if( newState == 1 )
{
// current media is openning/connecting
onOpen();
}
else if( newState == 2 )
{
// current media is buffering data
onBuffer();
}
else if( newState == 3 )
{
// current media is now playing
onPlay();
}
else if( newState == 4 )
{
// current media is now paused
onPause();
}
else if( newState == 5 )
{
// current media has stopped
onStop();
}
else if( newState == 6 )
{
// current media has ended
onEnd();
}
else if( newState == 7 )
{
// current media encountered error
onError();
}
prevState = newState;
}
else if( newState == 3 )
{
// current media is playing
onPlaying();
}
if( monitorTimerId == 0 )
{
monitorTimerId = setInterval("monitor()", 1000);
}
};
/* actions */
function doGo(targetURL)
{
var vlc = getVLC("vlc");
if( vlc )
{
vlc.playlist.items.clear();
while( vlc.playlist.items.count > 0 )
{
// clear() may return before the playlist has actually been cleared
// just wait for it to finish its job
}
var options = [":rtsp-tcp"];
var itemId = vlc.playlist.add(targetURL,"",options);
options = [];
if( itemId != -1 )
{
// play MRL
vlc.playlist.playItem(itemId);
if( monitorTimerId == 0 )
{
monitor();
}
}
else
{
alert("cannot play at the moment !");
}
doItemCount();
}
}
function doAdd(targetURL)
{
var vlc = getVLC("vlc");
var options = [":vout-filter=deinterlace", ":deinterlace-mode=linear"];
if( vlc )
{
vlc.playlist.add(targetURL, "", options);
options = [];
doItemCount();
}
}
function doPlayOrPause()
{
var vlc = getVLC("vlc");
if( vlc )
{
if( vlc.playlist.isPlaying )
{
vlc.playlist.togglePause();
monitor();
}
else if( vlc.playlist.items.count > 0 )
{
vlc.playlist.play();
monitor();
}
else
{
alert('nothing to play !');
}
}
}
function doStop()
{
var vlc = getVLC("vlc");
if( vlc )
vlc.playlist.stop();
if( monitorTimerId != 0 )
{
clearInterval(monitorTimerId);
monitorTimerId = 0;
}
onStop();
}
function doPlaySlower()
{
var vlc = getVLC("vlc");
if( vlc )
vlc.input.rate = vlc.input.rate / 2;
}
function doPlayFaster()
{
var vlc = getVLC("vlc");
if( vlc )
vlc.input.rate = vlc.input.rate * 2;
}
/* events */
function onOpen()
{
document.getElementById("state").innerHTML = "Opening...";
document.getElementById("PlayOrPause").value = "Pause";
}
function onBuffer()
{
document.getElementById("state").innerHTML = "Buffering...";
document.getElementById("PlayOrPause").value = "Pause";
}
function onPlay()
{
document.getElementById("state").innerHTML = "Playing...";
document.getElementById("PlayOrPause").value = "Pause";
onPlaying();
}
function onEnd()
{
document.getElementById("state").innerHTML = "End...";
doStop();
}
var liveFeedText = ["Live", "((Live))", "(( Live ))", "(( Live ))"];
var liveFeedRoll = 0;
function onPlaying()
{
if( !inputTrackerScrolling )
{
var vlc = getVLC("vlc");
var info = document.getElementById("info");
if( vlc )
{
var mediaLen = vlc.input.length;
inputTrackerIgnoreChange = true;
if( mediaLen > 0 )
{
// seekable media
if( inputTracker )
{
if( inputTracker.maxVal == 1.0 )
{
inputTracker.setDisabled(false);
inputTracker.maxVal = 1.0;
}
inputTracker.setValue(vlc.input.position);
}
info.innerHTML = formatTime(vlc.input.time)+"/"+formatTime(mediaLen);
}
else
{
// non-seekable "live" media
if( inputTracker )
{
if( inputTracker.maxVal != 0.0 )
{
inputTracker.maxVal = 0.0;
inputTracker.setValue(0.0);
inputTracker.setDisabled(true);
}
}
liveFeedRoll = liveFeedRoll & 3;
info.innerHTML = liveFeedText[liveFeedRoll++];
}
inputTrackerIgnoreChange = false;
}
}
}
function onPause()
{
document.getElementById("state").innerHTML = "Paused...";
document.getElementById("PlayOrPause").value = " Play ";
}
function onStop()
{
var vlc = getVLC("vlc");
if( inputTracker )
{
if( !inputTracker.disabled )
{
inputTracker.setValue(inputTracker.minVal);
inputTracker.setDisabled(true);
}
}
document.getElementById("info").innerHTML = "-:--:--/-:--:--";
document.getElementById("state").innerHTML = "Stopped...";
document.getElementById("PlayOrPause").value = " Play ";
}
function onError()
{
var vlc = getVLC("vlc");
document.getElementById("state").innerHTML = "Error...";
}
function onInputTrackerScrollStart()
{
inputTrackerScrolling = true;
}
function onInputTrackerScrollEnd(inputTracker, value, pos)
{
inputTrackerScrolling = false;
}
function onInputTrackerChange(inputTracker, value, pos)
{
if( !inputTrackerIgnoreChange )
{
var vlc = getVLC("vlc");
if( vlc )
{
if( (vlc.input.state == 3) && (vlc.input.position != value) )
{
var info = document.getElementById("info");
vlc.input.position = value;
info.innerHTML = formatTime(vlc.input.time)+"/"+formatTime(vlc.input.length);
}
}
}
}
function doMarqueeOption(option, value)
{
var vlc = getVLC("vlc");
val = parseInt(value);
if( vlc )
{
if (option == 1)
vlc.video.marquee.color = val;
if (option == 2)
vlc.video.marquee.opacity = val;
if (option == 3)
vlc.video.marquee.position = value;
if (option == 4)
vlc.video.marquee.refresh = val;
if (option == 5)
vlc.video.marquee.size = val;
if (option == 6)
vlc.video.marquee.text = value;
if (option == 7)
vlc.video.marquee.timeout = val;
if (option == 8)
vlc.video.marquee.x = val;
if (option == 9)
vlc.video.marquee.y = val;
}
}
function doLogoOption(option, value)
{
var vlc = getVLC("vlc");
if( vlc )
{
if (option == 1)
vlc.video.logo.file(value);
if (option == 2)
vlc.video.logo.position = value;
val = parseInt(value);
if (option == 3)
vlc.video.logo.opacity = val;
if (option == 4)
vlc.video.logo.repeat = val;
if (option == 5)
vlc.video.logo.delay = val;
if (option == 6)
vlc.video.logo.x = val;
if (option == 7)
vlc.video.logo.y = val;
}
}
//-->
</SCRIPT>
</BODY>
</HTML>
</SELECT>
</TD>
</TR>
<TR>
<TD>
<INPUT
type=
button
id=
"telx"
value=
"Teletext off"
onClick=
'doToggleTeletext();'
>
Teletext page:
<INPUT
size=
4
value=
"100"
id=
"telxPage"
onClick=
'doTelxPage(document.getElementById("telxPage").value);'
>
</TD>
</TR>
</TABLE>
<SCRIPT
language=
"javascript"
>
<!--
var rate = 0;
var prevState = 0;
var monitorTimerId = 0;
var inputTracker;
var inputTrackerScrolling = false;
var inputTrackerIgnoreChange = false;
var telxState = false;
var canPause = true;
var canSeek = true;
function setPauseable(val)
{
canPause = val;
}
function setSeekable(val)
{
canSeek = val;
}
function doSetSlider()
{
var vlc = getVLC("vlc");
// set slider to new position
if( vlc )
vlc.input.time = (vlc.input.length/2);
}
function doGetPosition()
{
var vlc = getVLC("vlc");
// set slider to new position
if (vlc)
alert( "position is " + vlc.input.time);
}
function doReverse(rate)
{
var vlc = getVLC("vlc");
if( vlc )
vlc.input.rate = -1.0 * vlc.input.rate;
}
function doAudioChannel(value)
{
var vlc = getVLC("vlc");
if( vlc )
vlc.audio.channel = parseInt(value);
}
function doAudioTrack(value)
{
var vlc = getVLC("vlc");
if( vlc )
{
vlc.audio.track = vlc.audio.track + value;
document.getElementById("trackTextField").innerHTML = vlc.audio.track;
}
}
function doAspectRatio(value)
{
var vlc = getVLC("vlc");
if( vlc )
vlc.video.aspectRatio = value;
}
function doSubtitle(value)
{
var vlc = getVLC("vlc");
if( vlc )
{
vlc.subtitle.track = vlc.subtitle.track + value;
document.getElementById("spuTextField").innerHTML = vlc.subtitle.track;
}
}
function doTelxPage(value)
{
var vlc = getVLC("vlc");
if( vlc )
vlc.video.teletext = parseInt(value);
}
function doToggleTeletext()
{
var vlc = getVLC("vlc");
if( vlc )
{
vlc.video.toggleTeletext();
if (telxState)
{
document.getElementById("telx").innerHTML = "Teletext on";
telxState = true;
}
else
{
document.getElementById("telx").innerHTML = "Teletext off";
telxState = false;
}
}
}
function doItemCount()
{
var vlc = getVLC("vlc");
if( vlc )
{
var count = vlc.playlist.items.count;
document.getElementById("itemCount").value = " Items " + count + " ";
}
}
function doRemoveItem(item)
{
var vlc = getVLC("vlc");
if( vlc )
vlc.playlist.items.remove(item);
}
function doPlaylistClearAll()
{
var vlc = getVLC("vlc");
if( vlc )
{
vlc.playlist.items.clear();
while( vlc.playlist.items.count > 0)
{
// wait till playlist empties.
}
doItemCount();
}
}
function updateVolume(deltaVol)
{
var vlc = getVLC("vlc");
if( vlc )
{
vlc.audio.volume += deltaVol;
document.getElementById("volumeTextField").innerHTML = vlc.audio.volume+"%";
}
}
function formatTime(timeVal)
{
if( typeof timeVal != 'number' )
return "-:--:--";
var timeHour = Math.round(timeVal / 1000);
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 doState()
{
var vlc = getVLC("vlc");
var newState = 0;
if( vlc )
newState = vlc.input.state;
if( newState == 0 )
{
// current media has stopped
onEnd();
}
else if( newState == 1 )
{
// current media is openning/connecting
onOpen();
}
else if( newState == 2 )
{
// current media is buffering data
onBuffer();
}
else if( newState == 3 )
{
// current media is now playing
onPlay();
}
else if( newState == 4 )
{
// current media is now paused
onPause();
}
else if( newState == 5 )
{
// current media has stopped
onStop();
}
else if( newState == 6 )
{
// current media has ended
onEnd();
}
else if( newState == 7 )
{
// current media encountered error
onError();
}
}
function monitor()
{
var vlc = getVLC("vlc");
var newState = 0;
if( vlc )
{
newState = vlc.input.state;
}
if( prevState != newState )
{
if( newState == 0 )
{
// current media has stopped
onEnd();
}
else if( newState == 1 )
{
// current media is openning/connecting
onOpen();
}
else if( newState == 2 )
{
// current media is buffering data
onBuffer();
}
else if( newState == 3 )
{
// current media is now playing
onPlay();
}
else if( newState == 4 )
{
// current media is now paused
onPause();
}
else if( newState == 5 )
{
// current media has stopped
onStop();
}
else if( newState == 6 )
{
// current media has ended
onEnd();
}
else if( newState == 7 )
{
// current media encountered error
onError();
}
prevState = newState;
}
else if( newState == 3 )
{
// current media is playing
onPlaying();
}
if( monitorTimerId == 0 )
{
monitorTimerId = setInterval("monitor()", 1000);
}
};
/* actions */
function doGo(targetURL)
{
var vlc = getVLC("vlc");
if( vlc )
{
vlc.playlist.items.clear();
while( vlc.playlist.items.count > 0 )
{
// clear() may return before the playlist has actually been cleared
// just wait for it to finish its job
}
var options = [":rtsp-tcp"];
var itemId = vlc.playlist.add(targetURL,"",options);
options = [];
if( itemId != -1 )
{
// play MRL
vlc.playlist.playItem(itemId);
if( monitorTimerId == 0 )
{
monitor();
}
}
else
{
alert("cannot play at the moment !");
}
doItemCount();
}
}
function doAdd(targetURL)
{
var vlc = getVLC("vlc");
var options = [":vout-filter=deinterlace", ":deinterlace-mode=linear"];
if( vlc )
{
vlc.playlist.add(targetURL, "", options);
options = [];
doItemCount();
}
}
function doPlayOrPause()
{
var vlc = getVLC("vlc");
if( vlc )
{
if( vlc.playlist.isPlaying && canPause )
{
vlc.playlist.togglePause();
//monitor();
}
else if( vlc.playlist.items.count > 0 )
{
vlc.playlist.play();
//monitor();
}
else
{
alert('nothing to play !');
}
}
}
function doStop()
{
var vlc = getVLC("vlc");
if( vlc )
vlc.playlist.stop();
if( monitorTimerId != 0 )
{
clearInterval(monitorTimerId);
monitorTimerId = 0;
}
onStop();
}
function doPlaySlower()
{
var vlc = getVLC("vlc");
if( vlc )
vlc.input.rate = vlc.input.rate / 2;
}
function doPlayFaster()
{
var vlc = getVLC("vlc");
if( vlc )
vlc.input.rate = vlc.input.rate * 2;
}
function doMarqueeOption(option, value)
{
var vlc = getVLC("vlc");
val = parseInt(value);
if( vlc )
{
if (option == 1)
vlc.video.marquee.color = val;
if (option == 2)
vlc.video.marquee.opacity = val;
if (option == 3)
vlc.video.marquee.position = value;
if (option == 4)
vlc.video.marquee.refresh = val;
if (option == 5)
vlc.video.marquee.size = val;
if (option == 6)
vlc.video.marquee.text = value;
if (option == 7)
vlc.video.marquee.timeout = val;
if (option == 8)
vlc.video.marquee.x = val;
if (option == 9)
vlc.video.marquee.y = val;
}
}
function doLogoOption(option, value)
{
var vlc = getVLC("vlc");
if( vlc )
{
if (option == 1)
vlc.video.logo.file(value);
if (option == 2)
vlc.video.logo.position = value;
val = parseInt(value);
if (option == 3)
vlc.video.logo.opacity = val;
if (option == 4)
vlc.video.logo.repeat = val;
if (option == 5)
vlc.video.logo.delay = val;
if (option == 6)
vlc.video.logo.x = val;
if (option == 7)
vlc.video.logo.y = val;
}
}
/* events */
function onOpen()
{
document.getElementById("state").innerHTML = "Opening...";
document.getElementById("PlayOrPause").value = "Pause";
}
function onBuffer()
{
document.getElementById("state").innerHTML = "Buffering...";
document.getElementById("PlayOrPause").value = "Pause";
}
function onPlay()
{
document.getElementById("state").innerHTML = "Playing...";
document.getElementById("PlayOrPause").value = "Pause";
onPlaying();
}
function onEnd()
{
document.getElementById("state").innerHTML = "End...";
}
var liveFeedText = ["Live", "((Live))", "(( Live ))", "(( Live ))"];
var liveFeedRoll = 0;
function onPlaying()
{
if( !inputTrackerScrolling )
{
var vlc = getVLC("vlc");
var info = document.getElementById("info");
if( vlc )
{
var mediaLen = vlc.input.length;
inputTrackerIgnoreChange = true;
if( mediaLen > 0 )
{
// seekable media
if( inputTracker )
{
if( inputTracker.maxVal == 1.0 )
{
inputTracker.setDisabled(false);
inputTracker.maxVal = 1.0;
}
inputTracker.setValue(vlc.input.position);
}
info.innerHTML = formatTime(vlc.input.time)+"/"+formatTime(mediaLen);
}
else
{
// non-seekable "live" media
if( inputTracker )
{
if( inputTracker.maxVal != 0.0 )
{
inputTracker.maxVal = 0.0;
inputTracker.setValue(0.0);
inputTracker.setDisabled(true);
}
}
liveFeedRoll = liveFeedRoll & 3;
info.innerHTML = liveFeedText[liveFeedRoll++];
}
inputTrackerIgnoreChange = false;
}
}
}
function onPause()
{
document.getElementById("state").innerHTML = "Paused...";
document.getElementById("PlayOrPause").value = " Play ";
}
function onStop()
{
var vlc = getVLC("vlc");
if( inputTracker )
{
if( !inputTracker.disabled )
{
inputTracker.setValue(inputTracker.minVal);
inputTracker.setDisabled(true);
}
}
document.getElementById("info").innerHTML = "-:--:--/-:--:--";
document.getElementById("state").innerHTML = "Stopped...";
document.getElementById("PlayOrPause").value = " Play ";
}
function onError()
{
var vlc = getVLC("vlc");
document.getElementById("state").innerHTML = "Error...";
}
function onInputTrackerScrollStart()
{
inputTrackerScrolling = true;
}
function onInputTrackerScrollEnd(inputTracker, value, pos)
{
inputTrackerScrolling = false;
}
function onInputTrackerChange(inputTracker, value, pos)
{
if( !inputTrackerIgnoreChange )
{
var vlc = getVLC("vlc");
if( vlc )
{
if( (vlc.input.state == 3) && (vlc.input.position != value) )
{
var info = document.getElementById("info");
vlc.input.position = value;
info.innerHTML = formatTime(vlc.input.time)+"/"+formatTime(vlc.input.length);
}
}
}
}
//-->
</SCRIPT>
</BODY>
</HTML>
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment