转至:https://blog.youkuaiyun.com/sinat_29891353/article/details/70144507
文档:WebPlugin
本文档介绍了VLC媒体播放器 Web插件以及如何为其编写页面。
|
内容[ 隐藏 ] |
简介:使用视频构建网页
该VLC媒体播放器 webplugins是原生浏览器插件,类似于Flash或Silverlight插件,并允许所有的视频在浏览器中播放VLC媒体播放器可以读取。
除了在所有页面上查看视频之外,还可以构建使用插件高级功能的自定义页面,使用Javascript函数控制播放或从插件中提取信息。
有两个主要插件:一个是ActiveX for IE,另一个是用于其他浏览器的NPAPI。它们具有相同的功能量。
在旧版本中,这些插件非常崩溃。我们急于使用VLC 2.0.0或更高版本。
浏览器支持
已通过以下测试:
火狐浏览器 | ![]() |
IE浏览器 | ![]() |
苹果浏览器 | ![]() |
铬 | |
Konqueror | |
歌剧 |
它已经在GNU / Linux,Windows和MacOS上进行了测试。
嵌入标签属性
要将插件嵌入到网页中,请使用以下<embed>模板:
-
< embed type = “application / x-vlc-plugin” pluginspage = “http://www.videolan.org” / >
如果您在Internet Explorer中使用vlc版本<2.2.0,请使用以下<object>模板:
-
< object classid = “clsid:9BE31822-FDAD-461B-AD51-BE1D1C159921” codebase = “http://download.videolan.org/pub/videolan/vlc/last/win32/axvlc.cab” > < / object >
对于标签属性的声明,请使用标签<param>。这里有一个例子:
-
< object classid = “clsid:9BE31822-FDAD-461B-AD51-BE1D1C159921” codebase = “http://download.videolan.org/pub/videolan/vlc/last/win32/axvlc.cab” >
-
< param name = “autostart” value = “true” / >
-
< param name = “allowfullscreen” value = “false” / >
-
< / object >
为了兼容mozilla插件,您可以组合两个标签:
-
< object classid = “clsid:9BE31822-FDAD-461B-AD51-BE1D1C159921” codebase = “http://download.videolan.org/pub/videolan/vlc/last/win32/axvlc.cab” id = “vlc” >
-
< embed type = “application / x-vlc-plugin” pluginspage = “http://www.videolan.org” name = “vlc” / >
-
< / object >
所需要素
这些是<embed>标记的必需属性:
- width:指定插件的宽度。
- height:指定插件的高度。
- target(或其中一个别名:mrl,filename,src):指定要加载的视频的源位置(URL)。
可选元素
这些是<embed>标签的附加属性:
- autoplay,autostart:指定插件是否在加载时开始播放。默认值:true
- allowfullscreen(或fullscreenEnabled,全屏):(自VLC版本2.0.0起)指定用户是否可以切换到全屏模式。默认值:true
- 无窗口(自VLC版本2.0.6,仅适用于Mozilla)在无窗(非加速)表面绘制视频,并允许样式(CSS叠加,3D转换等等)。默认值:false
- 静音:指定音频音量最初是否静音。默认值:false
- 音量:(自VLC版本2.2.2起)以初始音量为指定的百分比。默认值:100
- loop,autoloop:指定视频循环结束。默认值:false
- 控件(或工具栏):指定默认情况下是否显示控件。默认值:true
- bgcolor:指定视频播放器的背景颜色。默认值:#000000
- 文字 :(仅适用于MacOS上的Mozilla)只要没有显示任何视频,就指定显示的文字。默认值:空
- 品牌:(在vlc版本<2.2.2仅适用于MacOS上的Mozilla)指定是否应在Web插件的绘图上下文中显示VLC品牌。默认值:true
普通DOM元素
- id:DOM id
- 名称:DOM名称
Javascript API说明
vlc插件导出可以访问的几个对象,用于设置和获取信息。当使用不当时,API会抛出一个异常,其中包含一个解释发生了什么的字符串。例如,当您将vlc.audio.track设置为超出范围。
VLC对象
vlc插件知道以下对象:
- 音频:访问音频属性。
- 输入:访问输入属性。
- input.title:访问标题属性(vlc version> = 2.2.2,仅支持> = 3.0.0)
- input.chapter:访问章节属性(vlc version> = 2.2.2,仅支持> = 3.0.0)
- 播放列表:访问播放列
- playlist.items:访问播放列表项属性。
- 字幕:访问字幕属性。
- 视频:访问视频属性。
- video.deinterlace:访问去隔行特性。
- video.marquee:访问选框视频过滤器属性。
- video.logo:访问徽标视频过滤器属性。
- mediaDescription:访问媒体信息属性(vlc version> = 2.0.2)。
以下不推荐使用:
- 日志:访问日志属性(仅在vlc版本<= 1.0.0-rc1中可用)。
- 消息:访问日志消息属性(仅在vlc版本<= 1.0.0-rc1中可用)。
- 迭代器:访问日志迭代器属性(仅在vlc版本<= 1.0.0-rc1中可用)。
- 消息:访问日志消息属性(仅在vlc版本<= 1.0.0-rc1中可用)。
例
以下JavaScript代码显示了如何获取对vlc插件的引用。然后可以使用该引用来访问vlc插件的对象。
-
<!DOCTYPE html>
-
< html >
-
< title > VLC Mozilla插件测试页面< / title >
-
< body >
-
< embed type = “application / x-vlc-plugin” pluginspage = “http://www.videolan.org”
-
width = “640”
-
height = “480”
-
id = “vlc” / >
-
< script type = “text / javascript” >
-
<! -
-
var vlc = document。getElementById (“vlc” );
-
vlc。音频。toggleMute ();
-
// - >
-
< / script >
-
< / body >
-
< / html >
根对象
只读属性
- vlc.VersionInfo:返回版本信息字符串
读/写属性
- 没有
方法
- vlc.versionInfo():(仅适用于Mozilla)返回版本信息字符串(与VersionInfo相同)
- vlc.getVersionInfo():(在vlc version> = 2.2.2中支持)返回版本信息字符串(与VersionInfo和versionInfo()相同)
- vlc.addEventListener(eventname,callback,bubble):(仅适用于Mozilla)为所提到的事件名添加一个监听器,回调期望函数和气泡影响JS的事件处理顺序(通常设置为false)。
- vlc.removeEventListener(eventname,callback,bubble):(仅适用于Mozilla)删除所提及事件名称的侦听器,回调期望函数和气泡影响JS的事件处理顺序(通常设置为false)。
- vlc.attachEvent(eventname,callback) :(仅适用于ActiveX)为所提到的事件名添加侦听器,回调期望一个函数
- vlc.detachEvent(eventname,callback) :(仅适用于ActiveX)删除所提及事件名称的侦听器,回调期望一个函数
事件
- MediaPlayerNothingSpecial:vlc处于空闲状态,不用等待发出命令
- MediaPlayerOpening:vlc正在打开媒体资源定位器(MRL)
- MediaPlayerBuffering:vlc正在缓冲
- MediaPlayerPlaying:vlc正在播放媒体
- MediaPlayerPaused:vlc处于暂停状态
- MediaPlayerStopped:vlc处于停止状态
- MediaPlayerForward:vlc通过媒体快速播放(仅在输入支持向前播放时有效)
- MediaPlayerBackward:vlc正在通过媒体向后(仅当输入支持向后播放时才工作)
- MediaPlayerEnceedError:vlc遇到错误,无法继续
- MediaPlayerEndReached:vlc已到达当前播放列表的结尾
- MediaPlayerTimeChanged:时间已更改
- MediaPlayerPositionChanged:媒体位置已更改
- MediaPlayerSeekableChanged:媒体可追踪旗帜已经改变(真正意味着媒体是可寻求的,虚假的意思是不是)
- MediaPlayerPausableChanged:media pausable flag已更改(true表示媒体可暂停,false表示不是)
- MediaPlayerMediaChanged :(在vlc version> = 2.2.0中支持)媒体已更改
- MediaPlayerTitleChanged:(在vlc版本<2.2.0仅适用于Mozilla)标题已更改
- MediaPlayerLengthChanged:(在vlc版本<2.2.0仅适用于Mozilla)的长度已更改
例
以下代码片段提供了在所有支持的平台上注册和注销事件回调的简单功能。
-
< script type = “text / javascript” >
-
<! -
-
函数 registerVLCEvent ( event , handler ) {
-
var vlc = getVLC (“vlc” );
-
if ( vlc ) {
-
如果 ( VLC。的attachEvent ) {
-
//微软
-
vlc。attachEvent ( event , handler );
-
} 否则 如果 ( VLC。的addEventListener ) {
-
// Mozilla:DOM level 2
-
vlc。addEventListener ( event , handler , false );
-
}
-
}
-
}
-
//停止听事件
-
函数 unregisterVLCEvent ( event , handler ) {
-
var vlc = getVLC (“vlc” );
-
if ( vlc ) {
-
如果 ( VLC。detachEvent ) {
-
//微软
-
vlc。detachEvent ( event , handler );
-
} else if ( vlc. removeEventListener ) {
-
// Mozilla:DOM level 2
-
vlc。removeEventListener ( event , handler , false );
-
}
-
}
-
}
-
//事件回调
-
function handle_MediaPlayerNothingSpecial (){
-
alert (“Idle” );
-
}
-
function handle_MediaPlayerOpening (){
-
警报(“开放” );
-
}
-
function handle_MediaPlayerBuffering ( val ){
-
alert (“缓冲:” + val + “%” );
-
}
-
function handle_MediaPlayerPlaying (){
-
警报(“播放” );
-
}
-
function handle_MediaPlayerPaused (){
-
警报(“暂停” );
-
}
-
function handle_MediaPlayerStopped (){
-
警报(“停止” );
-
}
-
function handle_MediaPlayerForward (){
-
alert (“Forward” );
-
}
-
function handle_MediaPlayerBackward (){
-
警戒(“向后” );
-
}
-
function handle_MediaPlayerEndReached (){
-
alert (“EndReached” );
-
}
-
function handle_MediaPlayerEnoveredError (){
-
alert (“EnlookingError” );
-
}
-
function handle_MediaPlayerTimeChanged ( time ){
-
alert (“Time changed:” + time + “ms” );
-
}
-
function handle_MediaPlayerPositionChanged ( val ){
-
alert (“Position changed:” + val );
-
}
-
function handle_MediaPlayerSeekableChanged ( val ){
-
alert (“Seekable changed:” + val );
-
}
-
function handle_MediaPlayerPausableChanged ( val ){
-
alert (“Pausable changed:” + val );
-
}
-
function handle_MediaPlayerMediaChanged (){
-
警报(“媒体已更改” );
-
}
-
function handle_MediaPlayerTitleChanged ( val ){
-
alert (“Title changed:” + val );
-
}
-
function handle_MediaPlayerLengthChanged ( val ){
-
alert (“Length changed:” + val + “ms” );
-
}
-
//注册一堆回调。
-
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 (“MediaPlayerEnoveredError” , handle_MediaPlayerEnoveredError );
-
registerVLCEvent (“MediaPlayerTimeChanged” , handle_MediaPlayerTimeChanged );
-
registerVLCEvent (“MediaPlayerPositionChanged” , handle_MediaPlayerPositionChanged );
-
registerVLCEvent (“MediaPlayerSeekableChanged” , handle_MediaPlayerSeekableChanged );
-
registerVLCEvent (“MediaPlayerPausableChanged” , handle_MediaPlayerPausableChanged );
-
registerVLCEvent (“MediaPlayerMediaChanged” , handle_MediaPlayerMediaChanged );
-
registerVLCEvent (“MediaPlayerTitleChanged” , hand_MediaPlayerTitleChanged );
-
registerVLCEvent (“MediaPlayerLengthChanged” , handle_MediaPlayerLengthChanged );
-
// - >
-
< / script >
音频对象
只读属性
- vlc.audio.count:(在vlc version> = 1.1.0中支持)返回可用音轨的数量。
读/写属性
- vlc.audio.mute:布尔值来静音和取消静音音频。
- vlc.audio.volume:[0-200]之间的值,表示卷的百分比。
- vlc.audio.track:(支持vlc版本> 0.8.6)[1-65535]之间的值,表示要播放或正在播放的音轨。值为0表示音频被禁用。
- vlc.audio.channel:(支持vlc版本> 0.8.6)[1-5]之间的整数值,表示使用哪个音频通道模式,值可以是:“1 =立体声”,“2 =反向立体声” “3 = left”,“4 = right”,“5 = dolby”。使用vlc.audio.channel检查音频通道模式的设置是否成功。
方法
- vlc.audio.toggleMute():布尔开关,基于先前的状态静音和取消静音。
- vlc.audio.description(int i):(支持vlc version> = 1.1.0)给出第i个音轨名称。0对应于禁用,1对应于第一个音轨。
例
-
音频频道:
-
< select onChange = 'doAudioChannel(this.value)' >
-
< option value = 1 > Stereo < / option >
-
< option value = 2 >反向立体声< / option >
-
< option value = 3 >左侧< / option >
-
< option value = 4 > Right < / option >
-
< 选项 值= 5 >杜比< / option >
-
< / select >
-
< script type = “text / javascript” >
-
<! -
-
function doAudioChannel ( value )
-
{
-
var vlc = getVLC (“vlc” );
-
vlc。音频。channel = parseInt ( value );
-
警报(。VLC 音频。信道);
-
}
-
// - >
-
</ script >
输入对象
只读属性
- vlc.input.length:输入文件的长度,以毫秒为单位。返回0的“活”流或剪辑,其长度不能由VLC确定。如果没有输入播放,它返回-1。
- vlc.input.fps:以秒为单位返回的帧数(通常为60.0,50.0,23.976等)
- vlc.input.hasVout:当显示视频时返回true的布尔值,当视频未显示时返回false
读/写属性
- vlc.input.position:在多媒体流项目中归一化的位置,以[0.0 - 1.0]
- vlc.input.time:以毫秒为单位给出的绝对位置,此属性可用于通过流来查找
<! - absolute seek in stream - >
vlc.input.time = <absolute seek>
<! - 相对寻找流 - >
vlc.input.time = vlc.input.time + <relative seek>
- vlc.input.state:作为枚举给出的输入链的当前状态:
0 | 闲 |
1 | 打开 |
2 | 缓冲 |
3 | 播放 |
4 | 暂停 |
5 | 停止 |
6 | 已结束 |
7 | 错误 |
注意:测试ENDED = 6以结束播放。检查STOPPING = 5不是全部。
- vlc.input.rate:输入速度为float(1.0为正常速度,0.5为半速,2.0为两倍快)。
率> 1 | 快进 |
rate = 1 | 正常的速度 |
率<1 | 慢动作 |
方法
- 没有
标题对象
只读属性
- vlc.input.title.count:(在vlc version> = 2.2.2中支持)返回可用的标题数。
读/写属性
- vlc.input.title.track :(在vlc version> = 2.2.2中支持)获取并设置标题轨。该属性将整数作为输入值[0..65535]。如果没有标题可用,则返回-1。
方法
- vlc.input.title.description(int i) :(在vlc version> = 2.2.2中支持)给出第i个标题名称。
章节对象
只读属性
- vlc.input.chapter.count:(在vlc version> = 2.2.2中支持)返回当前标题中可用的章节数。
读/写属性
- vlc.input.chapter.track :(在vlc version> = 2.2.2中支持)获取并设置章节跟踪。该属性将整数作为输入值[0..65535]。如果没有章可用,则返回-1。
方法
- vlc.input.chapter.description(int i) :(在vlc version> = 2.2.2中支持)给出第i章节名称。
- vlc.input.chapter.countForTitle(int i) :(在vlc version> = 2.2.2中支持)返回可用于特定标题的章节数。
- vlc.input.chapter.prev():(在vlc version> = 2.2.2中支持)播放上一章。
- vlc.input.chapter.next():(在vlc version> = 2.2.2中支持)播放下一章。
播放列表对象
只读属性
- vlc.playlist.itemCount:返回当前播放列表中的项目金额数(不推荐使用,不使用,见播放列表项)
- vlc.playlist.isPlaying:一个布尔值,如果当前播放列表项目正在播放时返回true,并且当它不播放时返回false
- vlc.playlist.currentItem:(支持vlc version> = 2.2.0)号,返回播放列表中当前项目的索引。如果播放列表为空或没有项目处于活动状态,则返回-1。
- vlc.playlist.items:返回播放列表项目集合,请参阅播放列表项目
读/写属性
- 没有
方法
- vlc.playlist.add(mrl):将播放列表项添加为MRL。MRL必须以字符串形式给出。返回播放列表中刚刚添加的项目的索引作为数字。
- vlc.playlist.add(mrl,name,options):将播放列表项添加为MRL,使用metaname'name'和options'options'。选项是可以作为包含空格分隔值的单个字符串提供的文本参数,类似于VLC命令行,或作为字符串值的数组。返回播放列表中刚刚添加的项目的索引作为数字。
-
var options = new Array (“:aspect-ratio = 4:3” , “--rtsp-tcp” );
-
//或:var options =“:aspect-ratio = 4:3 --rtsp-tcp”;
-
var id = vlc。播放列表。add (“rtsp:// servername / item / to / play” , “fancy name” , options );
-
vlc。播放列表。playItem ( id );
- vlc.playlist.play():开始播放当前播放列表项
- vlc.playlist.playItem(number):开始播放标识符为号码的项目
- vlc.playlist.pause():暂停当前播放列表项
- vlc.playlist.togglePause():切换当前播放列表项目的暂停状态
- vlc.playlist.stop():停止播放当前播放列表项
- vlc.playlist.next():迭代到下一个播放列表项
- vlc.playlist.prev():迭代到上一个播放列表项
- vlc.playlist.clear():清空当前播放列表,所有项目将从播放列表中删除(已弃用,请勿使用,请参阅播放列表项目)
- vlc.playlist.removeItem(数字):从播放列表中,其标识是数删除项目(不推荐使用,不使用,见播放列表项)
播放列表项目对象
只读属性
- vlc.playlist.items.count:当前播放列表中的项目数
读/写属性
- 没有
方法
- vlc.playlist.items.clear():清空当前播放列表,所有项目将从播放列表中删除。(注意:如果电影正在播放,则不会停止)
- vlc.playlist.items.remove(number):从播放列表中删除其标识符为编号的项目。(注意:这个数字是播放列表中的当前位置,而不是vlc.playlist.add()给出的数字,如果播放列表中的任何项目在此期间被删除)。
字幕对象
只读属性
- vlc.subtitle.count:(支持vlc version> = 1.1.0)返回可用的字幕数。
读/写属性
- vlc.subtitle.track:(支持vlc version> = 1.1.0)获取并设置字幕轨,以便在视频屏幕上显示。该属性将整数作为输入值[1..65535]。如果字幕轨设置为0,字幕将被禁用。
方法
- vlc.subtitle.description(int i) :(在vlc version> = 1.1.0中支持)给出第i个字幕名称。0对应于禁用,1对应于第一个字幕。
视频对象
只读属性
- vlc.video.width:返回视频的水平尺寸
- vlc.video.height:返回视频的垂直尺寸
读/写属性
- vlc.video.fullscreen:当设置为true时,视频将以全屏模式显示,当设置为false时,视频将显示在视频输出大小之内。该属性采用布尔值作为输入。
- vlc.video.aspectRatio:获取并设置在视频屏幕中使用的宽高比。该属性将一个字符串作为输入值。典型值为“1:1”,“4:3”,“16:9”,“16:10”,“221:100”和“5:4”
- vlc.video.subtitle:(支持vlc版本> 0.8.6a)获取并设置字幕轨,以在视频屏幕上显示。该属性将整数作为输入值[1..65535]。如果字幕轨设置为0,字幕将被禁用。
- vlc.video.crop:获取并设置要裁剪的区域的几何。这被设置为<width> x <height> + <left offset> + <top offset>。一个可能的值是:“120x120 + 10 + 10”
- vlc.video.teletext:(在vlc version> = 0.9.0中支持)获取并设置图文电视页面显示在视频流中。这只有在视频流中有图文电视基本流可用的情况下才有效。该属性将整数作为输入值[0..999],用于指示要显示的图文电视页面,将该值设置为0表示隐藏图文电视。
方法
- vlc.video.takeSnapshot():(在vlc version> = 0.9.0中支持,仅适用于ActiveX)生成快照并将其保存在桌面上
- vlc.video.toggleFullscreen():根据以前的设置切换全屏模式
- vlc.video.toggleTeletext():(在vlc version> = 0.9.0中支持)根据以前的设置将图文电视页面切换到透明或不透明
去隔行对象
只读属性
- 没有
读/写属性
- 没有
方法
- vlc.video.deinterlace.enable(“my_mode”) :(支持vlc version> = 1.1.0)启用与my_mode的隔行扫描。您可以使用“混合”,“bob”,“discard”,“linear”,“mean”,“x”,“yadif”或“yadif2x”模式启用它。启用太快的隔行扫描可能会导致一些问题。您必须等待所有变量在启用之前可用。
- vlc.video.deinterlace.disable():(在vlc version> = 1.1.0中支持)禁用去隔行。
选框对象
只读属性
- 没有
读/写属性
- vlc.video.marquee.text :(在vlc version> = 1.1.0中支持)在屏幕上显示我的文本。
- vlc.video.marquee.color :(在vlc version> = 1.1.0中支持)更改文本颜色。val是要使用的新颜色(WHITE = 0x000000,BLACK = 0xFFFFFF,RED = 0xFF0000,GREEN = 0x00FF00,BLUE = 0x0000FF ...)。
- vlc.video.marquee.opacity :(在vlc version> = 1.1.0中支持)更改文本不透明度,val从0(完全透明)定义为255(完全不透明)。
- vlc.video.marquee.position:(支持vlc version> = 1.1.0)更改文本位置(“center”,“left”,“right”,“top”,“left-left”,“right-right “,”底部“,”左下角“,”右下角“)。
- vlc.video.marquee.refresh:(在vlc version> = 1.1.0中支持)更改选框刷新周期。
- vlc.video.marquee.size:(在vlc version> = 1.1.0中支持)val定义屏幕上显示的文本的新大小。如果文本大于屏幕,则文本不显示。
- vlc.video.marquee.timeout:(在vlc version> = 1.1.0中支持)更改超时值。val定义为ms,但0值对应于无限制。
- vlc.video.marquee.x:(支持vlc version> = 1.1.0)更改文本横坐标。
- vlc.video.marquee.y:(支持vlc version> = 1.1.0)更改文本纵坐标。
方法
- vlc.video.marquee.enable():(在vlc version> = 1.1.0中支持)启用选框过滤器。
- vlc.video.marquee.disable():(支持vlc version> = 1.1.0)禁用选框过滤器。
有些问题可能发生,因为VLC异步运行的(如颜色或文本选项将不适用)。为了避免这种情况,在启用选框后,您必须等待一段时间才能更改选项。但它应该由新的vout实现来修复。
注意:[1]
徽标对象
只读属性
- 没有
读/写属性
- vlc.video.logo.opacity :(在vlc version> = 1.1.0中支持)更改图片的不透明度,val从0(完全透明)定义为255(完全不透明)。
- vlc.video.logo.position:(支持vlc version> = 1.1.0)更改文本位置(“center”,“left”,“right”,“top”,“left-left”,“right-right “,”底部“,”左下角“,”右下角“)。
- vlc.video.logo.delay(在vlc version> = 1.1.0中支持)在显示下一张图片之前显示每张图片持续1000 ms(默认)。
- vlc.video.logo.repeat :(在vlc version> = 1.1.0中支持)图片动画循环数(-1 =连续,0 =禁用,n = n次)。默认值为-1(连续)。
- vlc.video.logo.x:(在vlc version> = 1.1.0中支持)更改x-offset,用于显示屏幕上左上方的图像计数。
- vlc.video.logo.y(在vlc version> = 1.1.0中支持)更改y-offset,用于显示屏幕上左上角的图像计数。
方法
- vlc.video.logo.enable():(支持vlc version> = 1.1.0)启用标志视频过滤器。
- vlc.video.logo.disable():(支持vlc version> = 1.1.0)禁用标志视频过滤器。
- vlc.video.logo.file(“file.png”) :(在vlc version> = 1.1.0中支持)在屏幕上显示我的file.png作为标志。
由于VLC异步功能,可能会出现一些问题。为了避免这种情况,在启用标志视频过滤器之后,您必须等待一段时间才能更改选项。但它应该由新的vout实现来修复。
媒体描述对象
只读属性
- vlc.mediaDescription.title :(支持vlc version> = 2.0.2)返回标题元信息字段。
- vlc.mediaDescription.artist :(在vlc version> = 2.0.2中支持)返回艺术家元信息字段。
- vlc.mediaDescription.genre :(支持vlc version> = 2.0.2)返回类型元信息字段。
- vlc.mediaDescription.copyright:(在vlc version> = 2.0.2中支持)返回版权元信息字段。
- vlc.mediaDescription.album :(在vlc version> = 2.0.2中支持)返回相册元信息字段。
- vlc.mediaDescription.trackNumber :(在vlc version> = 2.0.2中支持)返回trackNumber元信息字段。
- vlc.mediaDescription.description :(在vlc version> = 2.0.2中支持)返回描述元信息字段。
- vlc.mediaDescription.rating:(在vlc version> = 2.0.2中支持)返回评级元信息字段。
- vlc.mediaDescription.date :(在vlc version> = 2.0.2中支持)返回日期元信息字段。
- vlc.mediaDescription.setting :(在vlc version> = 2.0.2中支持)返回设置元信息字段。
- vlc.mediaDescription.URL:(在vlc version> = 2.0.2中支持)返回URL元信息字段。
- vlc.mediaDescription.language :(在vlc version> = 2.0.2中支持)返回语言元信息字段。
- vlc.mediaDescription.nowPlaying :(在vlc version> = 2.0.2中支持)返回nowPlaying元信息字段。
- vlc.mediaDescription.publisher:(在vlc version> = 2.0.2中支持)返回发布者元信息字段。
- vlc.mediaDescription.encodedBy :(在vlc version> = 2.0.2中支持)返回encodedBy元信息字段。
- vlc.mediaDescription.artworkURL :(支持vlc version> = 2.0.2)返回artworkURL元信息字段。
- vlc.mediaDescription.trackID:(在vlc version> = 2.0.2中支持)返回trackID元信息字段。
读/写属性
- 没有
方法
- 没有
DEPRECATED API
DEPRECATED:日志对象
注意:为了安全起见,VLC 1.0.0-rc1是支持该对象及其子项的最新(接近稳定)版本。
此对象允许访问VLC主消息记录队列。通常这个队列容量非常小(不超过256个条目),并且可以容易地溢出,因此应该尽可能多地读取和清除消息。
只读属性
- vlc.log.messages:返回消息集合,请参阅Messages对象
读/写属性
- vlc.log.verbosity:写入[-1,0,1,2,3],用于更改日志消息的详细程度; 详细信息高于设置的消息将不会被记录在队列中。数字具有以下含义:-1禁用,0信息,1错误,2警告,3调试。
方法
- 没有
DEPRECATED:消息对象
注意:为了安全起见,VLC 1.0.0-rc1是支持该对象及其子项的最新(接近稳定)版本。
只读属性
- messages.count:返回日志中的消息数
读/写属性
- 没有
方法
- messages.clear():清除当前日志缓冲区。应尽可能频繁地调用它,以免溢出消息队列。读取感兴趣的日志消息后调用此方法。
- messages.iterator():创建并返回一个迭代器对象,用于迭代日志中的消息。在持有迭代器对象时不要清除日志缓冲区。
DEPRECATED:消息迭代器对象
注意:为了安全起见,VLC 1.0.0-rc1是支持该对象及其子项的最新(接近稳定)版本。
只读属性
- iterator.hasNext:返回一个布尔值,指示vlc.log.messages.next()是否返回下一条消息。
读/写属性
- 没有
方法
- iterator.next():返回日志中的下一个消息对象,请参阅Message对象
DEPRECATED:消息子对象
注意:为了安全起见,VLC 1.0.0-rc1是支持该对象及其子项的最新(接近稳定)版本。
- message.severity:表示日志消息的严重性的数字(0 = info,1 = error,2 = warning,3 = debug)
- message.name:打印日志消息的VLC模块的名称(例如:main,http,directx等)
- message.type:打印日志消息的VLC模块的类型(例如:input,access,vout,sout等)
- message.message:消息文本
【转】JS VLC插件
2018年01月17日 ⁄ 综合 ⁄ 共 2712字 ⁄ 字号 小 中 大 ⁄ 评论关闭
VLClclc Plugin Object的方法
l VersionInfo:成员, 返回版本信息的字符串
l vlc.versionInfo():方法, 返回版本信息的字符串
Audio object的属性(读写)
l vlc.audio.mute :静音和非静音
l vlc.audio.volume:音量的百分比,值在0—200之间
l vlc.audio.track:音轨信息,值在0-65535之间
l vlc.audio.channel:值在1至5整数,指示的音频通道模式使用,值可以是:“1 =立体声”,“2 =反向立体声”,“3 =左”,“4 =右” “5 =混音”。
l vlc.audio.toggleMute() : 方法,切换静音和非静音
只读属性
l vlc.input.length:毫秒数,输入文件的长度
l vlc.input.fps:每秒产生一个浮动帧
l vlc.input.hasVout:一个布尔值,返回true当视频正在显示,它返回false时不显示视频
l 读/写属性
l vlc.input.position:在多媒体流正常化的情况下,给定一个浮点值,值范围[0.0 - 1.0]
l vlc.input.time:在给定的时间以毫秒为单位的绝对位置,这个属性可以用来寻求流
<!-- absolute seek in stream !-->
vlc.input.time = <absolute seek>
<!-- relative seek in stream !-->
vlc.input.time = vlc.input.time + <relative seek>
l vlc.input.state:当前状态(空闲/关闭= 0,开幕= 1,缓冲= 2,打= 3,暂停= 4,停止= 5,错误= 6)
l vlc.input.rate:输入速度,浮动的正常速度,0.5为速度的一半,为2.0快一倍。
只读属性
l vlc.playlist.itemCount:目前播放列表中的项目的数量
l vlc.playlist.isPlaying:一个布尔值,返回true 正在播放,false未播放
方法
l vlc.playlist.add(mrl):添加一个mrl(多媒体资源定位器)播放列表项目。mrl必须为字符串。
l vlc.playlist.add(mrl,name,options):添加mrl(多媒体资源定位器)播放列表项目,与meta的名字和选项。所有的输入值必须为字符串。
l vlc.playlist.play():开始播放当前列表项
l vlc.playlist.togglePause():切换当前播放列表项目的暂停状态
l vlc.playlist.stop():停止播放当前播放列表项目
l vlc.playlist.next():迭代到下一个播放列表项目
l vlc.playlist.prev():迭代到以前的音乐项目
l vlc.playlist.clear():清空当前播放列表,所有项目将被删除
l vlc.playlist.removeItem(number):删除给定的项目编号(number不能比vlc.playlist.itemCount大)
只读属性
l vlc.video.width:返回视频水平尺寸
l vlc.video.height:返回视频垂直大小
读/写属性
l vlc.video.fullscreen:当设置为true,视频将显示在全屏模式.设置为false时,视频按指定的大小显示。该属性需要布尔值作为输入。
l vlc.video.aspectRatio:获取和设置长宽比使用视频屏幕。该属性采用字符串作为输入值。有效值为:“1:1”,“4:3”,“16:9”,“16:10”,“221:100”和“5:4”
方法
l vlc.video.toggleFullscreen():全屏模式切换
只读属性
l vlc.log.messages:返回一个消息对象
l 读/写属性
l vlc.log.verbosity:写改变日志信息冗赘级别数[-1,0,1,2,3]。这些数字的含义如下:-1停用,0信息,1个错误,2警告,3调试。
只读属性
l messages.count:返回日志消息的数量
l messages.severity:数字,日志信息的严重程度(0 =信息,1 =错误,2 =警告,3 =调试)
l message.name:对VLC模块的名称印的日志信息(如:网址,directx,等等..)
l message.type:对模块类型的vlc印日志信息(如:input, access, vout, sout,等等..)
l message.message:消息文本
方法
l messages.clear():清除当前日志缓冲区。
l messages.iterator():返回一个消息迭代器对象
只读属性
l iterator.hasNext:返回一个布尔值,表明还有下一个信息
方法
l iterator.next():返回下一个消息对象它的日志。
VLC可以实现的功能
l Vlc可以通过修改input属性,实现seek,快播,慢播
l 修改audio属性可以实现,声道设置、音量设置、静音
l 通过对video的设置,实现全屏\屏幕比例\屏幕大小的控制
l 通过PlayList对象的控制,可以实现添加、删除播放对象的功能
l VLC对TS文件支持存在问题,VLC控件、获取不到时间进度信息.虽然视频已经播放了很久,但时间始终是0。见图1、图2:
图1:VLC windows版
图2:vlc 网页插件版
l VLC的input属性未能正常获取fps和time的值
l 结束时间无法控制
l 进度条失效