logo

NPDS : Gestion de contenu et de communauté


Content & Community Management System (CCMS) robuste, sécurisé, complet, performant, parlant vraiment français, libre (Open-Source) et gratuit.
39 visiteur(s) et 0 membre(s) en ligne.
Activité du Site

Pages vues depuis 25/05/2001 : 108 395 410

  • Nb. de membres 8 693
  • Nb. d'articles 1 695
  • Nb. de forums 26
  • Nb. de sujets 8
  • Nb. de critiques 92

Top 10  Statistiques

Index du forum »»  Le coin des codeurs »» code vlc HTML

code vlc HTML#25883

2Contributeur(s)
colonelwogdeveloppeur
3 Modérateur(s)
developpeurjpbJireck
colonelwog colonelwogicon_post
je cherches le code pour ajouter un bouton pour les sous-titres à VLC onlline en html ... voici le code de VLC pour vous aider :


echo "<script language=\"!javascript!\">

            function play(tgt) {
                var uri = \"file:///$video\";
                if (document.all) tgt += \"_IE\"
                var tgt = document.getElementById(tgt);
               // alert(tgt);
                if (document.all) tgt.playlist.add(uri,uri, new Array());
                else     tgt.playlist.add(uri,uri, \"\");
                tgt.playlist.play(); 
            }
            function reload() {
                document.body.innerHTML=\"\";
                setTimeout(\"document.location.reload();\", 500);
            }
            </script>
            <br /><br />
<object id='vlc1_IE'  codeBase=http://downloads.videolan.org/pub/videolan/vlc/latest/win32/axvlc.cab height=240 width=320 classid=clsid:9BE31822-FDAD-461B-AD51-BE1D1C159921>
<!embed! type=\"application/x-vlc-plugin\" pluginspage=\"http://www.videolan.org\" version=\"VideoLAN.VLCPlugin.2\"
                width=\"640\"
                height=\"480\"
                id=\"vlc1\">
            </!embed!>
</object> 


<br />
<button !onclick!=\"play('vlc1')\">".films_translate("lecture de la vidéo")."</button>

<button !onclick!=\"reload()\">".films_translate("Relancer la vidéo")."</button>
            ";

developpeur developpeuricon_post
merci!

Nota: attention au ! rajoutés par NPDS ceci étant
colonelwog colonelwogicon_post
personnes pour virer les postes plus haut là ?

bon sinon voici le code complet pour vlc :


<!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 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.!embed!s && document.!embed!s[name])
            return document.!embed!s[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("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();'>
&nbsp;
<INPUT type=button value=" << " !onclick!='doPlaySlower();'>
<INPUT type=button value="Reverse" !onclick!='doReverse();'>
<INPUT type=button value=" >> " !onclick!='doPlayFaster();'>
&nbsp;
<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>
        <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;
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;
}

// Old method of querying current state
// function doState() - depreceated
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!();
    }
}

/* 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);
        }
        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();
        }
        else if( vlc.playlist.items.count > 0 )
        {
            vlc.playlist.play();
        }
        else
        {
            alert('nothing to play !');
        }
    }
}

function doStop()
{
    var vlc = getVLC("vlc");
    if( vlc )
        vlc.playlist.stop();
}

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()
{
        var vlc = getVLC("vlc");
        var info = document.getElementById("info");
        if( vlc )
        {
            var mediaLen = vlc.input.length;
            if( mediaLen > 0 )
            {
                // seekable media
                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()
{
    var vlc = getVLC("vlc");

    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...";
}

//-->
</SCRIPT>
</BODY>
</HTML>