vlc 网页插件的 使用与控制 API http://www.xuebuyuan.com/2224602.html

不知道vlc 是什么的请百度一下。、

vlc 提供了ie浏览器的activeX插件和火狐或者chrome的插件,基本上覆盖了所有浏览器,所以有复杂解码需求的情况下用vlc来解决网页播放视频,也是一种没办法的办法。

下面开始使用教程:

html文档结构:

 <object class="vlc" type=‘application/x-vlc-plugin‘  events=‘True‘ width="720" height="540">
        <param name=‘mrl‘ value=‘‘ />
        <param name=‘volume‘ value=‘50‘ />
        <param name=‘autoplay‘ value=‘true‘ />
        <param name=‘loop‘ value=‘false‘ />
        <param name=‘fullscreen‘ value=‘false‘ />
    </object>

   <object class="vlc" type=‘application/x-vlc-plugin‘  events=‘True‘ width="720" height="540" classid=‘clsid:9BE31822-FDAD-461B-AD51-BE1D1C159921‘>
          <param name=‘mrl‘ value=‘‘ />
          <param name=‘volume‘ value=‘50‘ />
          <param name=‘autoplay‘ value=‘true‘ />
          <param name=‘loop‘ value=‘false‘ />
          <param name=‘fullscreen‘ value=‘false‘ />
    </object>

上面的object 在其他浏览器中有效,下面的object在ie下面有效;

可以使用js判断浏览器类型来动态插入object对象:

	function showPlayer(id,url){
    var vhtml = ‘<object id="vlc"‘;
    var userAg = navigator.userAgent;
    if(-1 != userAg.indexOf("MSIE")){
        vhtml+=‘ classid="clsid:9BE31822-FDAD-461B-AD51-BE1D1C159921"‘;
    }
    else if(-1 != userAg.indexOf("Firefox") || -1 != userAg.indexOf("Chrome") || -1 != userAg.indexOf("Opera") || -1 != userAg.indexOf("Safari")){
        vhtml+=‘ type="application/x-vlc-plugin"‘;
    }
    vhtml+=‘ width="700" height="400">‘;  

    //下面这些播放器的参数自己配置吧
    vhtml+="<param name=‘mrl‘ value=‘‘ />";
    vhtml+="<param name=‘autoplay‘ value=‘true‘ />";
	vhtml+=" <param name=‘volume‘ value=‘50‘ />";
	vhtml+=" <param name=‘loop‘ value=‘false‘ />";
	vhtml+="<param name=‘fullscreen‘ value=‘false‘ />";
	vhtml+=‘</object>‘;
    document.getElementById(id).innerHTML = vhtml;
}  

简单的控制:

function play(elem)
	{
		var vlc=document.getElementById(‘vlc‘);
		vlc.playlist.clear();
		vlc.playlist.add(elem.href);
		vlc.playlist.play();

	}

下面是判断插件的安装状态:

	function isInsalledIEVLC(){ 

        var vlcObj = null;
        var vlcInstalled= false;

        try {
            vlcObj = new ActiveXObject("VideoLAN.Vlcplugin.2");
            if( vlcObj != null ){
                vlcInstalled = true
            }
        } catch (e) {
            vlcInstalled= false;
        }
        return vlcInstalled;
    } 

	function isInsalledFFVLC(){
         var numPlugins=navigator.plugins.length;
         for  (i=0;i<numPlugins;i++)
         {
              plugin=navigator.plugins[i];
              if(plugin.name.indexOf("VideoLAN") > -1 || plugin.name.indexOf("VLC") > -1)
            {
                 return true;
            }
         }
         return false;
    }
	

以上分别是两种插件的安装情况;

最后献上vlc最全的api:

Embed tag attributes

To embed the plugin into a webpage use the following <embed> template:

<embed type="application/x-vlc-plugin" pluginspage="http://www.videolan.org" />

<object classid="clsid:9BE31822-FDAD-461B-AD51-BE1D1C159921" codebase="http://download.videolan.org/pub/videolan/vlc/last/win32/axvlc.cab"></object>

Required elements

These are required attributes for the <embed> tag:

  • width: Specifies the width of the plugin.
  • height: Specifies the height of the plugin.
  • targetmrlfilenamesrc: Specifies the source location (URL) of the video to load.

Optionnal elements

These are additional attributes for the <embed> tag:

  • autoplayautostart: Specifies whether the plugin starts playing on load. Default: true
  • allowfullscreen: (available since VLC version 1.2.0) Specifies whether the user can switch into fullscreen mode. Default: true
  • mute: Specifies whether the audio volume is initially muted. Default: false
  • loopautoloop: Specifies whether the video loops on end. Default: false
  • toolbar: Specifies whether the toolbar is shown by default. Default: true
  • bgcolor: Specifies the background color of the video player. Default: #000000

Normal DOM elements

  • id: DOM id
  • name: DOM name

Javascript API description

The vlc plugin exports several objects that can be accessed for setting and getting information. When used improperly the API‘s will throw an exception that includes a string that explains what happened. For example when asking for vlc.input.length when there
is no playlist item playing.

VLC objects

The vlc plugin knows the following objects:

  • audio: Access audio properties.
  • input: Access input properties.
  • playlist: Access playlist properties.
  • subtitle: Access subtitle properties.
  • video: Access video properties.
    • video.marquee: Access marquee video filter properties.
    • video.logo: Access logo video filter properties.
  • mediaDescription: Access media info properties (only available in vlc version >= 2.0.2).

The following are deprecated:

  • log: Access log properties (only available in vlc version <= 1.0.0-rc1).
  • messages: Access to log message properties (only available in vlc version <= 1.0.0-rc1).
  • iterator: Access to log iterator properties (only available in vlc version <= 1.0.0-rc1).
  • message: Access to log message properties (only available in vlc version <= 1.0.0-rc1).

Example

The following JavaScript code shows howto get a reference to the vlc plugin. This reference can then be used to access the objects of the vlc plugin.

<html>
<title>VLC Mozilla plugin test page</title>
<body>
<embed type="application/x-vlc-plugin" pluginspage="http://www.videolan.org"
 width="640"
 height="480"
 id="vlc">
</embed>
<script language="Javascript">
<!--
var vlc = document.getElementById("vlc");
vlc.audio.toggleMute();
//!-->
</script>
</body>
</html>

Root object

readonly properties

  • VersionInfo: returns version information string

read/write properties

  • none

methods

  • vlc.versionInfo(): returns version information string (same as VersionInfo)
  • vlc.addEventListener(eventname, callback, bubble): (only for Mozilla) add a listener for mentioned event name, callback expects a function and bubble influences the order of eventhandling by JS (usually it is set to false).
  • vlc.removeEventListener(eventname, callback, bubble): (only for Mozilla) remove listener for mentioned event name, callback expects a function and bubble influences the order of eventhandling by JS (usually it is set to false).
  • vlc.attachEvent(eventname, callback): (only for ActiveX) add listener for mentioned event name, callback expects a function
  • vlc.removeEvent(eventname, callback): (only for ActiveX) remove listener for mentioned event name, callback expects a function

events

  • MediaPlayerNothingSpecial: vlc is in idle state doing nothing but waiting for a command to be issued
  • MediaPlayerOpening: vlc is opening an media resource locator (MRL)
  • MediaPlayerBuffering: vlc is buffering
  • MediaPlayerPlaying: vlc is playing a media
  • MediaPlayerPaused: vlc is in paused state
  • MediaPlayerForward: vlc is fastforwarding through the media (works only when an input supports forward playback)
  • MediaPlayerBackward: vlc is going backwards through the media (works only when an input supports backwards playback)
  • MediaPlayerEncounteredError: vlc has encountered an error and is unable to continue
  • MediaPlayerEndReached: vlc has reached the end of current playlist
  • MediaPlayerTimeChanged: time has changed
  • MediaPlayerPositionChanged: media position has changed
  • MediaPlayerSeekableChanged: media seekable flag has changed (true means media is seekable, false means it is not)
  • MediaPlayerPausableChanged: media pausable flag has changed (true means media is pauseable, false means it is not)

Example

The following code snippit provides easy functions to register and unregister event callbacks on all supported platforms (currently only Linux mozilla based browsers and windows activeX objects for Internet Explorer).

<SCRIPT language="javascript">
<!--
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, false);
    } else {
        // DOM level 0
        vlc["on" + event] = handler;
    }
}
}
// stop listening to event
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, false);
    } else {
        // DOM level 0
        vlc["on" + event] = null;
    }
}
}
// event callback function for testing
function handleEvents(event)
{
if (!event)
    event = window.event; // IE
if (event.target) {
    // Netscape based browser
    targ = event.target;
} else if (event.srcElement) {
    // ActiveX
    targ = event.srcElement;
} else {
    // No event object, just the value
    alert("Event value" + event );
    return;
}
if (targ.nodeType == 3) // defeat Safari bug
    targ = targ.parentNode;
alert("Event " + event.type + " has fired from " + targ );
}
// handle mouse grab event from video filter
function handleMouseGrab(event,X,Y)
{
if (!event)
    event = window.event; // IE
alert("new position (" + X + "," + Y + ")");
}
// Register a bunch of callbacks.
registerVLCEvent(‘MediaPlayerNothingSpecial‘, handleEvents);
registerVLCEvent(‘MediaPlayerOpening‘, handleEvents);
registerVLCEvent(‘MediaPlayerBuffering‘, handleEvents);
registerVLCEvent(‘MediaPlayerPlaying‘, handleEvents);
registerVLCEvent(‘MediaPlayerPaused‘, handleEvents);
registerVLCEvent(‘MediaPlayerForward‘, handleEvents);
registerVLCEvent(‘MediaPlayerBackward‘, handleEvents);
registerVLCEvent(‘MediaPlayerEncounteredError‘, handleEvents);
registerVLCEvent(‘MediaPlayerEndReached‘, handleEvents);
registerVLCEvent(‘MediaPlayerTimeChanged‘, handleEvents);
registerVLCEvent(‘MediaPlayerPositionChanged‘, handleEvents);
registerVLCEvent(‘MediaPlayerSeekableChanged‘, handleEvents);
registerVLCEvent(‘MediaPlayerPausableChanged‘, handleEvents);
</script>
-->

Audio object

readonly properties

  • vlc.audio.count: (supported in vlc version >= 1.1.0) returns the number of audio track available.

read/write properties

  • vlc.audio.mute: boolean value to mute and unmute the audio.
  • vlc.audio.volume: a value between [0-200] which indicates a percentage of the volume.
  • vlc.audio.track: (supported in vlc version > 0.8.6) a value between [1-65535] which indicates the audio track to play or that is playing. a value of 0 means the audio is/will be disabled.
  • vlc.audio.channel: (supported in vlc version > 0.8.6) integer value between [1-5] that indicates which audio channel mode is used, values can be: "1=stereo", "2=reverse stereo", "3=left", "4=right", "5=dolby". Use vlc.audio.channel to check
    if setting of the audio channel mode has succeeded.

methods

  • vlc.audio.toggleMute(): boolean toggle that mutes and unmutes the audio based upon the previous state.
  • vlc.audio.description(int i): (supported in vlc version >= 1.1.0) give the i-th audio track name. 0 corresponds to disable and 1 to the first audio track.

Example

Audio Channel:
<SELECT readonly onChange=‘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>
<SCRIPT language="javascript">
<!--
function doAudioChannel(value)
{
var vlc = getVLC("vlc");
vlc.audio.channel = parseInt(value);
alert(vlc.audio.channel);
};
-->

Input object

readonly properties

  • vlc.input.length: length of the input file in number of milliseconds. 0 is returned for ‘live‘ streams or clips whose length cannot be determined by VLC. It returns -1 if no input is playing.
  • vlc.input.fps: frames per second returned as a float (typically 60.0, 50.0, 23.976, etc...)
  • vlc.input.hasVout: a boolean that returns true when the video is being displayed, it returns false when video is not displayed

read/write properties

  • vlc.input.position: normalized position in multimedia stream item given as a float value between [0.0 - 1.0]
  • vlc.input.time: the absolute position in time given in milliseconds, this property can be used to seek through the stream
<!-- absolute seek in stream !-->
vlc.input.time = <absolute seek>
<!-- relative seek in stream !-->
vlc.input.time = vlc.input.time + <relative seek>
  • vlc.input.state: current state of the input chain given as enumeration (IDLE=0, OPENING=1, BUFFERING=2, PLAYING=3, PAUSED=4, STOPPING=5, ENDED=6, ERROR=7). Note: Test for ENDED=6 to catch end of playback. Checking for STOPPING=5 is NOT
    ENOUGH.
  • vlc.input.rate: input speed given as float (1.0 for normal speed, 0.5 for half speed, 2.0 for twice as fast, etc.).
rate > 1              : is fastforward
rate > 0 and rate < 1 : is slow motion
rate < 0              : is rewind

methods

  • none

Playlist object

readonly properties

  • vlc.playlist.itemCount: number that returns the amount of items currently in the playlist (deprecated, do not use, see Playlist
    items
    )
  • vlc.playlist.isPlaying: a boolean that returns true if the current playlist item is playing and false when it is not playing
  • vlc.playlist.items: return the playlist items collection, see Playlist items

read/write properties

  • none

methods

  • vlc.playlist.add(mrl): add a playlist item as MRL. The MRL must be given as a
    string. Returns a number as an item identifier in playlist (this is not a position in playlist).
  • vlc.playlist.add(mrl,name,options): add a playlist item as MRL, with metaname ‘name‘ and options ‘options‘. options are text arguments which can be provided either as a single string containing space separated values, akin to VLC command
    line, or as an array of string values. Returns a number as an item identifier in playlist (this is not a position in playlist).
 var options = new Array(":aspect-ratio=4:3", "--rtsp-tcp");
var id = vlc.playlist.add("rtsp://servername/item/to/play", "fancy name", options);
vlc.playlist.playItem(id);
  • vlc.playlist.play(): start playing the current playlist item
  • vlc.playlist.playItem(number): start playing the item whose identifier is number
  • vlc.playlist.togglePause(): toggle the pause state for the current playlist item
  • vlc.playlist.stop(): stop playing the current playlist item
  • vlc.playlist.next(): iterate to the next playlist item
  • vlc.playlist.prev(): iterate to the previous playlist item
  • vlc.playlist.clear(): empty the current playlist, all items will be deleted from the playlist (deprecated, do not use, see Playlist
    items
    )
  • vlc.playlist.removeItem(number): remove the item from playlist whose identifier is number (deprecated, do not use, see Playlist
    items
    )

Playlist items object

readonly properties

  • vlc.playlist.items.count: number of items currently in the playlist

read/write properties

  • none

methods

  • vlc.playlist.items.clear(): empty the current playlist, all items will be deleted from the playlist. If a movie is playing, it stop. Note that when this method returns, playlist may not have been entirely been cleared as this operation
    is performed asynchronously; use the count property to verify/wait until the playlist is empty.
  • vlc.playlist.items.remove(number): remove the item whose identifier is number from playlist. (note: this number isn‘t the position in the playlist, but the number given by vlc.playlist.add() )

Subtitle object

readonly properties

  • vlc.subtitle.count: (supported in vlc version >= 1.1.0) returns the number of subtitle available.

read/write properties

  • vlc.subtitle.track: (supported in vlc version >= 1.1.0) get and set the subtitle track to show on the video screen. The property takes an integer as input value [1..65535]. If subtitle track is set to 0, the subtitles will be disabled.
    If set to a value outside the current subtitle tracks range, then it will return -1 and display an error message.

methods

  • vlc.subtitle.description(int i): (supported in vlc version >= 1.1.0) give the i-th subtitle name. 0 correspond to disable and 1 to the first subtitle.

Video object

readonly properties

  • vlc.video.width: returns the horizontal size of the video
  • vlc.video.height: returns the vertical size of the video

read/write properties

  • vlc.video.fullscreen: when set to true the video will be displayed in fullscreen mode, when set to false the video will be shown inside the video output size. The property takes a boolean as input.
  • vlc.video.aspectRatio: get and set the aspect ratio to use in the video screen. The property takes a string as input value. Typical values are: "1:1", "4:3", "16:9", "16:10", "221:100" and "5:4"
  • vlc.video.subtitle: (supported in vlc version > 0.8.6a) get and set the subtitle track to show on the video screen. The property takes an integer as input value [1..65535]. If subtitle track is set to 0, the subtitles will be disabled.
    If set to a value outside the current subtitle tracks range, then it will return -1 and display an error message.
  • vlc.video.teletext: (supported in vlc version >= 0.9.0) get and set teletext page to show on the video stream. This will only work if a teletext elementary stream is available in the video stream. The property takes an integer as input
    value [0..999] for indicating the teletext page to view, setting the value to 0 means hide teletext. On error it will return -1 and display an error message.

methods

  • vlc.video.toggleFullscreen(): toggle the fullscreen mode based on the previous setting
  • vlc.video.toggleTeletext(): (supported in vlc version >= 0.9.0) toggle the teletext page to overlay transparent or not, based on the previous setting

Deinterlace Object

readonly properties

  • none

read/write properties

  • none

methods

  • vlc.video.deinterlace.enable("my_mode"): (supported in vlc version >= 1.1.0) enable deinterlacing with my_mode. You can enable it with "blend", "bob", "discard", "linear", "mean", "x", "yadif" or "yadif2x" mode. Enabling too soon deinterlacing
    may cause some problems. You have to wait that all variable are available before enabling it.
  • vlc.video.deinterlace.disable(): (supported in vlc version >= 1.1.0) disable deinterlacing.

Marquee Object

readonly properties

  • none

read/write properties

  • vlc.video.marquee.text: (supported in vlc version >= 1.1.0) display my text on the screen.
  • vlc.video.marquee.color: (supported in vlc version >= 1.1.0) change the text color. val is the new color to use (WHITE=0x000000, BLACK=0xFFFFFF, RED=0xFF0000, GREEN=0x00FF00, BLUE=0x0000FF...).
  • vlc.video.marquee.opacity: (supported in vlc version >= 1.1.0) change the text opacity, val is defined from 0 (completely transparent) to 255 (completely opaque).
  • vlc.video.marquee.position: (supported in vlc version >= 1.1.0) change the text position (CENTER=0, LEFT=1, RIGHT=2, TOP=4, TOP-LEFT=5, TOP-RIGHT=6, BOTTOM=8, BOTTOM-LEFT=9, BOTTOM_RIGHT=10).
  • vlc.video.marquee.refresh: (supported in vlc version >= 1.1.0) change the marquee refresh period.
  • vlc.video.marquee.size: (supported in vlc version >= 1.1.0) val define the new size for the text displayed on the screen. If the text is bigger than the screen then the text is not displayed.
  • vlc.video.marquee.timeout: (supported in vlc version >= 1.1.0) change the timeout value. val is defined in ms, but 0 value correspond to unlimited.
  • vlc.video.marquee.x: (supported in vlc version >= 1.1.0) change text abscissa.
  • vlc.video.marquee.y: (supported in vlc version >= 1.1.0) change text ordinate.

methods

  • vlc.video.marquee.enable(): (supported in vlc version >= 1.1.0) enable marquee filter.
  • vlc.video.marquee.disable(): (supported in vlc version >= 1.1.0) disable marquee filter.

Some problems may happen (option like color or text will not be applied) because of the VLC asynchronous functioning. To avoid it, after enabling marquee, you have to wait a little time before changing an option. But it should be fixed by the new vout implementation.

NOTE: [1]

Logo Object

readonly properties

  • none

read/write properties

  • vlc.video.logo.opacity: (supported in vlc version >= 1.1.0) change the picture opacity, val is defined from 0 (completely transparent) to 255 (completely opaque).
  • vlc.video.logo.position: (supported in vlc version >= 1.1.0) change the text position ("center", "left", "right", "top", "top-left", "top-right", "bottom", "bottom-left", "bottom-right").
  • vlc.video.logo.delay: (supported in vlc version >= 1.1.0) display each picture for a duration of 1000 ms (default) before displaying the next picture.
  • vlc.video.logo.repeat: (supported in vlc version >= 1.1.0) number of loops for picture animation (-1=continuous, 0=disabled, n=n-times). The default is -1 (continuous).
  • vlc.video.logo.x: (supported in vlc version >= 1.1.0) change the x-offset for displaying the picture counting from top-left on the screen.
  • vlc.video.logo.y: (supported in vlc version >= 1.1.0) change the y-offset for displaying the picture counting from top-left on the screen.
  • vlc.video.logo.width: (supported in vlc version >= 1.1.0) change the picture width.
  • vlc.video.logo.height: (supported in vlc version >= 1.1.0) change the picture height.

methods

  • vlc.video.logo.enable(): (supported in vlc version >= 1.1.0) enable logo video filter.
  • vlc.video.logo.disable(): (supported in vlc version >= 1.1.0) disable logo video filter.
  • vlc.video.logo.file("file.png"): (supported in vlc version >= 1.1.0) display my file.png as logo on the screen.

Some problems may happen because of the VLC asynchronous functioning. To avoid it, after enabling logo video filter, you have to wait a little time before changing an option. But it should be fixed by the new vout implementation.

MediaDescription Object

readonly properties

  • vlc.mediaDescription.title: (supported in vlc version >= 2.0.2) returns title meta information field.
  • vlc.mediaDescription.artist: (supported in vlc version >= 2.0.2) returns artist meta information field.
  • vlc.mediaDescription.copyright: (supported in vlc version >= 2.0.2) returns copyright meta information field.
  • vlc.mediaDescription.album: (supported in vlc version >= 2.0.2) returns album meta information field.
  • vlc.mediaDescription.trackNumber: (supported in vlc version >= 2.0.2) returns trackNumber meta information field.
  • vlc.mediaDescription.description: (supported in vlc version >= 2.0.2) returns description meta information field.
  • vlc.mediaDescription.rating: (supported in vlc version >= 2.0.2) returns rating meta information field.
  • vlc.mediaDescription.date: (supported in vlc version >= 2.0.2) returns date meta information field.
  • vlc.mediaDescription.setting: (supported in vlc version >= 2.0.2) returns setting meta information field.
  • vlc.mediaDescription.URL: (supported in vlc version >= 2.0.2) returns URL meta information field.
  • vlc.mediaDescription.language: (supported in vlc version >= 2.0.2) returns language meta information field.
  • vlc.mediaDescription.nowPlaying: (supported in vlc version >= 2.0.2) returns nowPlaying meta information field.
  • vlc.mediaDescription.publisher: (supported in vlc version >= 2.0.2) returns publisher meta information field.
  • vlc.mediaDescription.encodedBy: (supported in vlc version >= 2.0.2) returns encodedBy meta information field.
  • vlc.mediaDescription.artworkURL: (supported in vlc version >= 2.0.2) returns artworkURL meta information field.
  • vlc.mediaDescription.trackID: (supported in vlc version >= 2.0.2) returns trackID meta information field.

read/write properties

  • none

methods

  • none

DEPRECATED APIs

DEPRECATED: Log object

CAUTION: For security concern, VLC 1.0.0-rc1 is the latest (near-to-stable) version in which this object and its children are supported.

This object allows accessing VLC main message logging queue. Typically this queue capacity is very small (no nore than 256 entries) and can easily overflow, therefore messages should be read and cleared as often as possible.

readonly properties

read/write properties

  • vlc.log.verbosity: write number [-1,0,1,2,3] for changing the verbosity level of the log messages; messages whose verbosity is higher than set will be not be logged in the queue. The numbers have the following meaning: -1 disable, 0 info,
    1 error, 2 warning, 3 debug.

methods

  • none

DEPRECATED: Messages object

CAUTION: For security concern, VLC 1.0.0-rc1 is the latest (near-to-stable) version in which this object and its children are supported.

readonly properties

  • messages.count: returns number of messages in the log

read/write properties

  • none

methods

  • messages.clear(): clear the current log buffer. It should be called as frequently as possible to not overflow the message queue. Call this method after the log messages of interest are read.
  • messages.iterator(): creates and returns an iterator object, used to iterate over the messages in the log. Don‘t clear the log buffer while holding an iterator object.

DEPRECATED: Messages Iterator
object

CAUTION: For security concern, VLC 1.0.0-rc1 is the latest (near-to-stable) version in which this object and its children are supported.

readonly properties

  • iterator.hasNext: returns a boolean that indicates whether vlc.log.messages.next() will return the next message.

read/write properties

  • none

methods

  • iterator.next(): returns the next message object in the log, see Message
    object

DEPRECATED: Message subobject

CAUTION: For security concern, VLC 1.0.0-rc1 is the latest (near-to-stable) version in which this object and its children are supported.
  • message.severity: number that indicates the severity of the log message (0 = info, 1 = error, 2 = warning, 3 = debug)
  • message.name: name of VLC module that printed the log message (e.g: main, http, directx, etc...)
  • message.type: type of VLC module that printed the log message (eg: input, access, vout, sout, etc...)
  • message.message: the message text

Build
HTML pages that use the plugin (VLC version up to 0.8.5)

WARNING: the APIs described in this section are deprecated, do not use. They no longer work on recent VLC version (> 0.8.5), either it being the ActiveX (Internet Explorer)/ Safari or Mozilla based browsers.

The following API description is only valid uptill version 0.8.5 of the mozilla plugin.

Additionally to viewing video on all pages, you can build custom pages that will use the advanced features of the plugin, using Javascript functions to control playback or extract information from the plugin.

The vlc plugin supports the following function calls:

  • play(): Start playing media in the plugin.
  • pause(): Pause playback.
  • stop(): Stop media playback.
  • fullscreen(): Switch the video to full screen.
  • set_volume(vol): Set the volume. vol has to be an int in the 0-200 range.
  • get_volume(): Get the current volume setting.
  • mute(): Toggle volume muting.
  • set_int_variable(var_name, value):
  • set_bool_variable(var_name, value):
  • set_str_variable(var_name, value):
  • get_int_variable(var_name):
  • get_bool_variable(var_name):
  • get_str_variable(var_name):
  • clear_playlist(): Clear the playlist.
  • add_item(mrl): Append an item whose location is given by the Media
    resource locator
     to the playlist.
  • next()
  • previous()
  • isplaying(): return true if the plugin is playing something.
  • get_length(): Get the media‘s length in seconds.
  • get_position(): Get the current position in the media in percent.
  • get_time(): Get the current position in the media in seconds.
  • seek(seconds,is_relative): If is_relative is true, seek relatively to current time, else seek from beginning of the stream. Seek time is specified in seconds.

Here are a few examples of HTML pages that use the Mozilla plugin.

Example 1

In this example, the plugin will read an HTTP stream inside the web page. If the user goes fullscreen, he will have to press f or double-click on the video to go back in normal view.

<html>
<head><title>Demo of VLC mozilla plugin</title></head>
<body>
<h1>Demo of VLC mozilla plugin - Example 1</h1>
<embed type="application/x-vlc-plugin"
      name="video1"
      autoplay="no" loop="yes" width="400" height="300"
      target="http://server.example.org/video1.vob" />
<br />
<a href="javascript:;" onclick=‘document.video1.play()‘>Play video1</a>
<a href="javascript:;" onclick=‘document.video1.pause()‘>Pause video1</a>
<a href="javascript:;" onclick=‘document.video1.stop()‘>Stop video1</a>
<a href="javascript:;" onclick=‘document.video1.fullscreen()‘>Fullscreen</a>
</body>
</html>

Example 2

In this example, the plugin will read a multicast UDP/RTP stream in a dedicated video output window.

<html>
<head><title>Demo of VLC mozilla plugin</title></head>
<body>
<h1>Demo of VLC mozilla plugin - Example 2</h1>
<embed type="application/x-vlc-plugin"
      name="video2"
      autoplay="no" loop="no" hidden="yes"
      target="rtp://@239.255.12.42:5004" />
<br />
<a href="javascript:;" onclick=‘document.video2.play()‘>Play video2</a>
<a href="javascript:;" onclick=‘document.video2.stop()‘>Stop video2</a>
<a href="javascript:;" onclick=‘document.video2.fullscreen()‘>Fullscreen</a>
</body>
</html>
时间: 2024-10-09 23:07:23

vlc 网页插件的 使用与控制 API http://www.xuebuyuan.com/2224602.html的相关文章

Flash Activex NPAPI PPAPI 各种网页插件完整安装包下载地址

内容全部是自己手工原创写作的参考内容,完全排除从其他网站COPY的内容信息.如有雷同实属巧合.   奉献给有需求的人士,也给各位解决FLASH安装头疼的问题,正常在线下载安装运气不好的安装半天.运气好的也许一会就搞定了. 以下内容主要是送给那些运气不好的朋友....也不知道你是不是其中一个运气不好的....相信你看到我的文章内容之后,很高兴的告诉你,你是一个很幸运的人...   完整安装包下载地址.所有网页插件都在这个网址了,更新的速度也是最快的,目前内容仅仅只是当天最新安装包的版本.如需要获取

【转】手机web——自适应网页设计(html/css控制)

手机web——自适应网页设计(html/css控制) 就目前形势来看,Web App 正是眼下的一个趋势和潮流,但是,对于Web App的设计可能大家有的不是很了解,下面就将整理好的网页设计的技巧奉献给大家. 作者:佚名来源: 68design | 2013-09-04 11:02 一. 允许网页宽度自动调整: "自适应网页设计"到底是怎么做到的? 其实并不难. 首先,在网页代码的头部,加入一行viewport元标签. <meta name="viewport"

手机web——自适应网页设计(html/css控制)(转)

一. 允许网页宽度自动调整: "自适应网页设计"到底是怎么做到的?其实并不难. 首先,在网页代码的头部,加入一行viewport元标签. <meta name="viewport" content="width=device-width, initial-scale=1" /> viewport是网页默认的宽度和高度,上面这行代码的意思是,网页宽度默认等于屏幕宽度(width=device-width),原始缩放比例(initial-

Web页面使用VLC播放插件

一.原生态Demo下载 选择原因:我们为什么选择VLC播放插件?原因是它支持IE8浏览器播放视频,如果高版本的浏览器大可不必选择该插件,很多html5插件既好用又简单,但是有些交管或政府 部门还是限制浏览器的.而且有些时候我们播放的视频格式也比较变态,比如使用海康威视sdk从它们的硬盘录像机上download的视频格式是MPEG2_PS的!这是一种DVD格式的 视频格式,很多视频播放器不支持,而这时VLC变得很聪明,这也是我选择它的原因之一. 说到下载就生气,博客园只给100M空间,而且单次上传

使用VLC Activex插件做网页版视频播放器

网上找的一个小例子,包括时长播放时间等等都有. mrl可以设置本地文件,这样发布网站后只能播放本地有的文件, 如果视频文件全在服务器上,其他电脑想看的话,则可以IIS上发布个视频文件服务器,类似http://192.168.1.1:8000/video/1.flv 这样可以访问到视频文件,然后这个http路径可以设置为mrl但这样的话经测试支持的格式不多,flv是可以的 测试可以使用 使用vlc播放器播放rtsp视频 这里的打开网络串流看能不能正常播放,如果播放不了,即使视频文件可以访问到这个插

Unity中嵌入网页插件Embedded Browser2.1.0

背景 最近刚换了工作,新公司不是做手游的,一开始有点抵触,总觉得不是做游戏自己就是跨行了,认为自己不对口,但是慢慢发现在这可以学的东西面很广,所以感觉又到了打怪升级的时候了,老子就在这进阶了. 一进公司他们使用H5开发,做一款地形信息系统的软件,基于Unity开发,但是所有页面都是Js写的,所以我第一件事要做的是实现Unity嵌入网页,并实现交互. 在这里,领导说之前做过类似的即用的Embedded Browser2.1.0这个插件,让我研究下做个简单Demo. 实现方案 使用插件Embedde

手机web——自适应网页设计(html/css控制)

一. 允许网页宽度自动调整: "自适应网页设计"到底是怎么做到的? 其实并不难. 首先,在网页代码的头部,加入一行viewport元标签. <meta name="viewport" content="width=device-width, initial-scale=1" /> viewport是网页默认的宽度和高度,上面这行代码的意思是,网页宽度默认等于屏幕宽度(width=device-width),原始缩放比 例(initia

VLC视频播放插件的使用

首先不得不承认,VLC是一款非常牛逼的视频播放插件,支持格式N多.但是集成到web上,尤其是google上网上资源很少,我是众里千百度,看各种文档.终于找到了,小嘿一下: 1).下载VLC应用程序vlc-2.1.3-win32.exe,官方默认集成IE和火狐插件,唯独没有google,没办法找办法 2).在google应用开发中心找VLC,VLC media PLay 3).有没有成功自己可以写代码测试 <div id="scrollDiv"> <object cla

手机web——自适应网页设计(html/css控制)http://mobile.51cto.com/ahot-409516.htm

http://mobile.51cto.com/ahot-409516.htm 一. 允许网页宽度自动调整: "自适应网页设计"到底是怎么做到的? 其实并不难. 首先,在网页代码的头部,加入一行viewport元标签. <meta name="viewport" content="width=device-width, initial-scale=1" /> viewport是网页默认的宽度和高度,上面这行代码的意思是,网页宽度默认等