Instructions to code your own VLC Lua scripts.
$Id$
1 - About Lua
=============
Lua documentation is available on http://www.lua.org . The reference manual
is very useful: http://www.lua.org/manual/5.1/ .
VLC uses Lua 5.1
All the Lua standard libraries are available.
2 - Lua in VLC
==============
Several types of VLC Lua scripts can currently be coded:
* Playlist (see playlist/README.txt)
* Art fetcher (see meta/README.txt)
* Interface (see intf/README.txt)
* Extensions (see extensions/README.txt)
* Services Discovery (see sd/README.txt)
Lua scripts are tried in alphabetical order in the user's VLC config
directory lua/{playlist,meta,intf}/ subdirectory on Windows and Mac OS X or
in the user's local share directory (~/.local/share/vlc/lua/... on linux),
then in the global VLC lua/{playlist,meta,intf}/ directory.
3 - VLC specific Lua modules
============================
All VLC specifics modules are in the "vlc" object. For example, if you want
to use the "info" function of the "msg" VLC specific Lua module:
vlc.msg.info( "This is an info message and will be displayed in the console" )
Note: availability of the different VLC specific Lua modules depends on
the type of VLC Lua script your are in.
Access lists
------------
local a = vlc.acl(true) -> new ACL with default set to allow
a:check("10.0.0.1") -> 0 == allow, 1 == deny, -1 == error
a("10.0.0.1") -> same as a:check("10.0.0.1")
a:duplicate() -> duplicate ACL object
a:add_host("10.0.0.1",true) -> allow 10.0.0.1
a:add_net("10.0.0.0",24,true) -> allow 10.0.0.0/24 (not sure)
a:load_file("/path/to/acl") -> load ACL from file
Configuration
-------------
config.get( name ): Get the VLC configuration option "name"'s value.
config.set( name, value ): Set the VLC configuration option "name"'s value.
Dialog
------
local d = vlc.dialog( "My VLC Extension" ): Create a new UI dialog, with a human-readable title: "My VLC Extension"
d:show(): Show this dialog.
d:hide(): Hide (but not close) this dialog.
d:delete(): Close and delete this dialog.
d:set_title( title ): set the title of this dialog.
d:update(): Update the dialog immediately (don't wait for the current function to return)
d:del_widget( widget ): Delete 'widget'. It disappears from the dialog and repositioning may occur.
In the following functions, you can always add some optional parameters: col, row, col_span, row_span, width, height.
They define the position of a widget in the dialog:
- row, col are the absolute positions on a grid of widgets. First row, col are 1.
- row_span, col_span represent the relative size of a widget on the grid. A widget with col_span = 4 will be displayed as wide as 4 widgets of col_span = 1.
- width and height are size hints (in pixels) but may be discarded by the GUI module
Example: w = d:add_label( "My Label", 2, 3, 4, 5 ) will create a label at row 3, col 2, with a relative width of 4, height of 5.
d:add_button( text, func, ... ): Create a button with caption "text" (string). When clicked, call function "func". func is a function reference.
d:add_label( text, ... ): Create a text label with caption "text" (string).
d:add_html( text, ... ): Create a rich text label with caption "text" (string), that supports basic HTML formatting (such as <i> or <h1> for instance).
d:add_text_input( text, ... ): Create an editable text field, in order to read user input.
d:add_password( text, ... ): Create an editable text field, in order to read user input. Text entered in this box will not be readable (replaced by asterisks).
d:add_check_box( text, ... ): Create a check box with a text. They have a boolean state (true/false).
d:add_dropdown( ... ): Create a drop-down widget. Only 1 element can be selected the same time.
d:add_list( ... ): Create a list widget. Allows multiple or empty selections.
d:add_image( path, ... ): Create an image label. path is a relative or absolute path to the image on the local computer.
Some functions can also be applied on widgets:
w:set_text( text ): Change text displayed by the widget. Applies to: button, label, html, text_input, password, check_box.
w:get_text(): Read text displayed by the widget. Returns a string. Applies to: button, label, html, text_input, password, check_box.
w:set_checked( bool ): Set check state of a check box. Applies to: check_box.
w:get_checked(): Read check state of a check box. Returns a boolean. Applies to: check_box.
w:add_value( text, id ): Add a value with identifier 'id' (integer) and text 'text'. It's always best to have unique identifiers. Applies to: drop_down.
w:get_value(): Return identifier of the selected item. Corresponds to the text value chosen by the user. Applies to: drop_down.
w:clear(): Clear a list or drop_down widget. After that, all values previously added are lost.
w:get_selection(): Retrieve a table representing the current selection. Keys are the ids, values are the texts associated. Applies to: list.
Extension
---------
deactivate(): Deactivate current extension (after the end of the current function).
HTTPd
-----
http( host, port, [cert, key, ca, crl]): create a new HTTP (SSL) daemon.
local h = vlc.httpd( "localhost", 8080 )
h:handler( url, user, password, acl, callback, data ) -- add a handler for given url. If user and password are non nil, they will be used to authenticate connecting clients. If acl is non nil, it will be used to restrict access. callback will be called to handle connections. The callback function takes 7 arguments: data, url, request, type, in, addr, host. It returns the reply as a string.
h:file( url, mime, user, password, acl, callback, data ) -- add a file for given url with given mime type. If user and password are non nil, they will be used to authenticate connecting clients. If acl is non nil, it will be used to restrict access. callback will be called to handle connections. The callback function takes 2 arguments: data and request. It returns the reply as a string.
h:redirect( url_dst, url_src ): Redirect all connections from url_src to url_dst.
Input
-----
input.is_playing(): Return true if input exists.
input.add_subtitle(url): Add a subtitle to the current input
input.item(): Get the current input item. Input item methods are:
:uri(): Get item's URI.
:name(): Get item's name.
:duration(): Get item's duration in seconds or negative value if unavailable.
:is_preparsed(): Return true if meta data has been preparsed
:metas(): Get meta data as a table.
:set_meta(key, value): Set meta data.
:info(): Get the current input's info. Return value is a table of tables. Keys of the top level table are info category labels.
:stats(): Get statistics about the input. This is a table with the following fields:
.read_packets
.read_bytes
.input_bitrate
.average_input_bitrate
.demux_read_packets
.demux_read_bytes
.demux_bitrate
.average_demux_bitrate
.demux_corrupted
.demux_discontinuity
.decoded_audio
.decoded_video
.displayed_pictures
.lost_pictures
.sent_packets
.sent_bytes
.send_bitrate
.played_abuffers
.lost_abuffers
MD5
---
md5( str ): return the string's hash
md5(): create an md5 object with the following methods:
:add( str ): add a string to the hash
:end_(): finish hashing
:hash(): return the hash
Messages
--------
msg.dbg( [str1, [str2, [...]]] ): Output debug messages (-vv).
msg.warn( [str1, [str2, [...]]] ): Output warning messages (-v).
msg.err( [str1, [str2, [...]]] ): Output error messages.
msg.info( [str1, [str2, [...]]] ): Output info messages.
Misc
----
misc.version(): Get the VLC version string.
misc.copyright(): Get the VLC copyright statement.
misc.license(): Get the VLC license.
misc.datadir(): Get the VLC data directory.
misc.userdatadir(): Get the user's VLC data directory.
misc.homedir(): Get the user's home directory.
misc.configdi
没有合适的资源?快使用搜索试试~ 我知道了~
VLC流媒体播放器
共663个文件
dll:274个
png:101个
h:78个
4星 · 超过85%的资源 需积分: 50 91 下载量 157 浏览量
2012-03-05
10:43:52
上传
评论
收藏 32.76MB ZIP 举报
温馨提示
VLC流媒体播放器可以用来播放264文件。
资源推荐
资源详情
资源评论
收起资源包目录
VLC流媒体播放器 (663个子文件)
libvlccore.dll.a 402KB
libvlc.dll.a 152KB
browse 2KB
browse 2KB
skin.catalog 167B
default.cfg 1KB
style.css 5KB
style.css 5KB
iehacks.css 1KB
iehacks.css 1KB
libqt4_plugin.dll 10.54MB
libavcodec_plugin.dll 6.74MB
libvlccore.dll 2.16MB
libskins2_plugin.dll 2.07MB
liblibass_plugin.dll 1.67MB
libfreetype_plugin.dll 1.67MB
libvorbis_plugin.dll 1.63MB
libzvbi_plugin.dll 1.38MB
libmkv_plugin.dll 1.26MB
libtaglib_plugin.dll 1.14MB
libxml_plugin.dll 1.09MB
libdirac_plugin.dll 1.08MB
liblive555_plugin.dll 1.02MB
libgnutls_plugin.dll 1021KB
libschroedinger_plugin.dll 1002KB
libx264_plugin.dll 938KB
libcaca_plugin.dll 812KB
libmod_plugin.dll 431KB
libstream_out_rtp_plugin.dll 428KB
libstream_out_raop_plugin.dll 393KB
libremoteosd_plugin.dll 393KB
librtp_plugin.dll 391KB
libaccess_output_shout_plugin.dll 385KB
libgme_plugin.dll 371KB
libtheora_plugin.dll 360KB
liblua_plugin.dll 330KB
libfaad_plugin.dll 303KB
axvlc.dll 301KB
libswscale_plugin.dll 291KB
libsdl_image_plugin.dll 285KB
libvout_sdl_plugin.dll 267KB
libaout_sdl_plugin.dll 260KB
libflac_plugin.dll 259KB
libfluidsynth_plugin.dll 252KB
libpng_plugin.dll 233KB
libgoom_plugin.dll 227KB
libdvdnav_plugin.dll 226KB
libdshow_plugin.dll 206KB
libmp4_plugin.dll 190KB
libatmo_plugin.dll 181KB
libdtstofloat32_plugin.dll 174KB
npvlc.dll 158KB
libdvdread_plugin.dll 154KB
liblibmpeg2_plugin.dll 149KB
libbda_plugin.dll 148KB
libdvbsub_plugin.dll 147KB
libtwolame_plugin.dll 141KB
libi420_rgb_sse2_plugin.dll 133KB
libmux_ts_plugin.dll 131KB
libspeex_plugin.dll 127KB
libcdda_plugin.dll 126KB
libmpgatofixed32_plugin.dll 125KB
libts_plugin.dll 120KB
libplaylist_plugin.dll 106KB
libspatializer_plugin.dll 102KB
libvlc.dll 99KB
liboldhttp_plugin.dll 96KB
libdeinterlace_plugin.dll 95KB
libkate_plugin.dll 93KB
libmux_ps_plugin.dll 90KB
libportaudio_plugin.dll 89KB
libaccess_bd_plugin.dll 88KB
libavi_plugin.dll 88KB
libogg_plugin.dll 88KB
libaccess_http_plugin.dll 86KB
libpacketizer_h264_plugin.dll 80KB
libsap_plugin.dll 79KB
libpostproc_plugin.dll 79KB
libzip_plugin.dll 77KB
libaccess_mms_plugin.dll 74KB
libi420_rgb_mmx_plugin.dll 72KB
libasf_plugin.dll 70KB
libaccess_realrtsp_plugin.dll 69KB
libdirectx_plugin.dll 66KB
liboldrc_plugin.dll 66KB
libstream_out_transcode_plugin.dll 64KB
liba52tofloat32_plugin.dll 64KB
libvisual_plugin.dll 61KB
libdirect3d_plugin.dll 60KB
libblend_plugin.dll 56KB
libvod_rtsp_plugin.dll 56KB
libpanoramix_plugin.dll 53KB
libpacketizer_mpeg4audio_plugin.dll 53KB
libaudiobargraph_v_plugin.dll 52KB
libglwin32_plugin.dll 52KB
libwingdi_plugin.dll 52KB
libmux_ogg_plugin.dll 52KB
libty_plugin.dll 52KB
libi420_rgb_plugin.dll 51KB
libmux_mp4_plugin.dll 51KB
共 663 条
- 1
- 2
- 3
- 4
- 5
- 6
- 7
youorwu
- 粉丝: 0
- 资源: 7
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功
- 1
- 2
前往页