首页 > 代码库 > LibVLC video controls
LibVLC video controls
原文 http://www.videolan.org/developers/vlc/doc/doxygen/html/group__libvlc__video.html
VLC 3.0.0-git |
- Main Page
- Related Pages
- Modules
- Data Structures
- Files
Enumerations | |
enum | libvlc_video_logo_option_t { libvlc_logo_enable, libvlc_logo_file, libvlc_logo_x, libvlc_logo_y, libvlc_logo_delay, libvlc_logo_repeat, libvlc_logo_opacity, libvlc_logo_position } |
option values for libvlc_video_{get,set}_logo_{int,string} More... | |
enum | libvlc_video_adjust_option_t { libvlc_adjust_Enable = 0, libvlc_adjust_Contrast, libvlc_adjust_Brightness, libvlc_adjust_Hue, libvlc_adjust_Saturation, libvlc_adjust_Gamma } |
option values for libvlc_video_{get,set}_adjust_{int,float,bool} More... |
Functions | |
LIBVLC_API void | libvlc_toggle_fullscreen (libvlc_media_player_t *p_mi) |
Toggle fullscreen status on non-embedded video outputs. | |
LIBVLC_API void | libvlc_set_fullscreen (libvlc_media_player_t *p_mi, int b_fullscreen) |
Enable or disable fullscreen. | |
LIBVLC_API int | libvlc_get_fullscreen (libvlc_media_player_t *p_mi) |
Get current fullscreen status. | |
LIBVLC_API void | libvlc_video_set_key_input (libvlc_media_player_t *p_mi, unsigned on) |
Enable or disable key press events handling, according to the LibVLC hotkeys configuration. | |
LIBVLC_API void | libvlc_video_set_mouse_input (libvlc_media_player_t *p_mi, unsigned on) |
Enable or disable mouse click events handling. | |
LIBVLC_API int | libvlc_video_get_size (libvlc_media_player_t *p_mi, unsigned num, unsigned *px, unsigned *py) |
Get the pixel dimensions of a video. | |
LIBVLC_DEPRECATED LIBVLC_API int | libvlc_video_get_height (libvlc_media_player_t *p_mi) |
Get current video height. | |
LIBVLC_DEPRECATED LIBVLC_API int | libvlc_video_get_width (libvlc_media_player_t *p_mi) |
Get current video width. | |
LIBVLC_API int | libvlc_video_get_cursor (libvlc_media_player_t *p_mi, unsigned num, int *px, int *py) |
Get the mouse pointer coordinates over a video. | |
LIBVLC_API float | libvlc_video_get_scale (libvlc_media_player_t *p_mi) |
Get the current video scaling factor. | |
LIBVLC_API void | libvlc_video_set_scale (libvlc_media_player_t *p_mi, float f_factor) |
Set the video scaling factor. | |
LIBVLC_API char * | libvlc_video_get_aspect_ratio (libvlc_media_player_t *p_mi) |
Get current video aspect ratio. | |
LIBVLC_API void | libvlc_video_set_aspect_ratio (libvlc_media_player_t *p_mi, const char *psz_aspect) |
Set new video aspect ratio. | |
LIBVLC_API int | libvlc_video_get_spu (libvlc_media_player_t *p_mi) |
Get current video subtitle. | |
LIBVLC_API int | libvlc_video_get_spu_count (libvlc_media_player_t *p_mi) |
Get the number of available video subtitles. | |
LIBVLC_API libvlc_track_description_t * | libvlc_video_get_spu_description (libvlc_media_player_t *p_mi) |
Get the description of available video subtitles. | |
LIBVLC_API int | libvlc_video_set_spu (libvlc_media_player_t *p_mi, int i_spu) |
Set new video subtitle. | |
LIBVLC_API int | libvlc_video_set_subtitle_file (libvlc_media_player_t *p_mi, const char *psz_subtitle) |
Set new video subtitle file. | |
LIBVLC_API int64_t | libvlc_video_get_spu_delay (libvlc_media_player_t *p_mi) |
Get the current subtitle delay. | |
LIBVLC_API int | libvlc_video_set_spu_delay (libvlc_media_player_t *p_mi, int64_t i_delay) |
Set the subtitle delay. | |
LIBVLC_API libvlc_track_description_t * | libvlc_video_get_title_description (libvlc_media_player_t *p_mi) |
Get the description of available titles. | |
LIBVLC_API libvlc_track_description_t * | libvlc_video_get_chapter_description (libvlc_media_player_t *p_mi, int i_title) |
Get the description of available chapters for specific title. | |
LIBVLC_API char * | libvlc_video_get_crop_geometry (libvlc_media_player_t *p_mi) |
Get current crop filter geometry. | |
LIBVLC_API void | libvlc_video_set_crop_geometry (libvlc_media_player_t *p_mi, const char *psz_geometry) |
Set new crop filter geometry. | |
LIBVLC_API int | libvlc_video_get_teletext (libvlc_media_player_t *p_mi) |
Get current teletext page requested. | |
LIBVLC_API void | libvlc_video_set_teletext (libvlc_media_player_t *p_mi, int i_page) |
Set new teletext page to retrieve. | |
LIBVLC_API void | libvlc_toggle_teletext (libvlc_media_player_t *p_mi) |
Toggle teletext transparent status on video output. | |
LIBVLC_API int | libvlc_video_get_track_count (libvlc_media_player_t *p_mi) |
Get number of available video tracks. | |
LIBVLC_API libvlc_track_description_t * | libvlc_video_get_track_description (libvlc_media_player_t *p_mi) |
Get the description of available video tracks. | |
LIBVLC_API int | libvlc_video_get_track (libvlc_media_player_t *p_mi) |
Get current video track. | |
LIBVLC_API int | libvlc_video_set_track (libvlc_media_player_t *p_mi, int i_track) |
Set video track. | |
LIBVLC_API int | libvlc_video_take_snapshot (libvlc_media_player_t *p_mi, unsigned num, const char *psz_filepath, unsigned int i_width, unsigned int i_height) |
Take a snapshot of the current video window. | |
LIBVLC_API void | libvlc_video_set_deinterlace (libvlc_media_player_t *p_mi, const char *psz_mode) |
Enable or disable deinterlace filter. | |
LIBVLC_API int | libvlc_video_get_marquee_int (libvlc_media_player_t *p_mi, unsigned option) |
Get an integer marquee option value. | |
LIBVLC_API char * | libvlc_video_get_marquee_string (libvlc_media_player_t *p_mi, unsigned option) |
Get a string marquee option value. | |
LIBVLC_API void | libvlc_video_set_marquee_int (libvlc_media_player_t *p_mi, unsigned option, int i_val) |
Enable, disable or set an integer marquee option. | |
LIBVLC_API void | libvlc_video_set_marquee_string (libvlc_media_player_t *p_mi, unsigned option, const char *psz_text) |
Set a marquee string option. | |
LIBVLC_API int | libvlc_video_get_logo_int (libvlc_media_player_t *p_mi, unsigned option) |
Get integer logo option. | |
LIBVLC_API void | libvlc_video_set_logo_int (libvlc_media_player_t *p_mi, unsigned option, int value) |
Set logo option as integer. | |
LIBVLC_API void | libvlc_video_set_logo_string (libvlc_media_player_t *p_mi, unsigned option, const char *psz_value) |
Set logo option as string. | |
LIBVLC_API int | libvlc_video_get_adjust_int (libvlc_media_player_t *p_mi, unsigned option) |
Get integer adjust option. | |
LIBVLC_API void | libvlc_video_set_adjust_int (libvlc_media_player_t *p_mi, unsigned option, int value) |
Set adjust option as integer. | |
LIBVLC_API float | libvlc_video_get_adjust_float (libvlc_media_player_t *p_mi, unsigned option) |
Get float adjust option. | |
LIBVLC_API void | libvlc_video_set_adjust_float (libvlc_media_player_t *p_mi, unsigned option, float value) |
Set adjust option as float. |
Detailed Description
Enumeration Type Documentation
enum libvlc_video_adjust_option_t |
option values for libvlc_video_{get,set}_adjust_{int,float,bool}
- Enumerator:
libvlc_adjust_Enable libvlc_adjust_Contrast libvlc_adjust_Brightness libvlc_adjust_Hue libvlc_adjust_Saturation libvlc_adjust_Gamma
enum libvlc_video_logo_option_t |
option values for libvlc_video_{get,set}_logo_{int,string}
- Enumerator:
libvlc_logo_enable libvlc_logo_file string argument, "file,d,t;file,d,t;..."
libvlc_logo_x libvlc_logo_y libvlc_logo_delay libvlc_logo_repeat libvlc_logo_opacity libvlc_logo_position
Function Documentation
LIBVLC_API int libvlc_get_fullscreen | ( | libvlc_media_player_t * | p_mi | ) |
Get current fullscreen status.
- Parameters
p_mi the media player
- Returns
- the fullscreen status (boolean)
LIBVLC_API void libvlc_set_fullscreen | ( | libvlc_media_player_t * | p_mi, |
int | b_fullscreen | ||
) |
Enable or disable fullscreen.
- Warning
- With most window managers, only a top-level windows can be in full-screen mode. Hence, this function will not operate properly if libvlc_media_player_set_xwindow() was used to embed the video in a non-top-level window. In that case, the embedding window must be reparented to the root window before fullscreen mode is enabled. You will want to reparent it back to its normal parent when disabling fullscreen.
- Parameters
p_mi the media player b_fullscreen boolean for fullscreen status
LIBVLC_API void libvlc_toggle_fullscreen | ( | libvlc_media_player_t * | p_mi | ) |
Toggle fullscreen status on non-embedded video outputs.
- Warning
- The same limitations applies to this function as to libvlc_set_fullscreen().
- Parameters
p_mi the media player
LIBVLC_API void libvlc_toggle_teletext | ( | libvlc_media_player_t * | p_mi | ) |
Toggle teletext transparent status on video output.
- Parameters
p_mi the media player
LIBVLC_API float libvlc_video_get_adjust_float | ( | libvlc_media_player_t * | p_mi, |
unsigned | option | ||
) |
Get float adjust option.
- Parameters
p_mi libvlc media player instance option adjust option to get, values of libvlc_video_adjust_option_t
- Version
- LibVLC 1.1.1 and later.
LIBVLC_API int libvlc_video_get_adjust_int | ( | libvlc_media_player_t * | p_mi, |
unsigned | option | ||
) |
Get integer adjust option.
- Parameters
p_mi libvlc media player instance option adjust option to get, values of libvlc_video_adjust_option_t
- Version
- LibVLC 1.1.1 and later.
LIBVLC_API char* libvlc_video_get_aspect_ratio | ( | libvlc_media_player_t * | p_mi | ) |
Get current video aspect ratio.
- Parameters
p_mi the media player
- Returns
- the video aspect ratio or NULL if unspecified (the result must be released with free() or libvlc_free()).
LIBVLC_API libvlc_track_description_t* libvlc_video_get_chapter_description | ( | libvlc_media_player_t * | p_mi, |
int | i_title | ||
) |
Get the description of available chapters for specific title.
- Parameters
p_mi the media player i_title selected title
- Returns
- list containing description of available chapter for title i_title
LIBVLC_API char* libvlc_video_get_crop_geometry | ( | libvlc_media_player_t * | p_mi | ) |
Get current crop filter geometry.
- Parameters
p_mi the media player
- Returns
- the crop filter geometry or NULL if unset
LIBVLC_API int libvlc_video_get_cursor | ( | libvlc_media_player_t * | p_mi, |
unsigned | num, | ||
int * | px, | ||
int * | py | ||
) |
Get the mouse pointer coordinates over a video.
Coordinates are expressed in terms of the decoded video resolution, not in terms of pixels on the screen/viewport (to get the latter, you can query your windowing system directly).
Either of the coordinates may be negative or larger than the corresponding dimension of the video, if the cursor is outside the rendering area.
- Warning
- The coordinates may be out-of-date if the pointer is not located on the video rendering area. LibVLC does not track the pointer if it is outside of the video widget.
- Note
- LibVLC does not support multiple pointers (it does of course support multiple input devices sharing the same pointer) at the moment.
- Parameters
p_mi media player num number of the video (starting from, and most commonly 0) px pointer to get the abscissa [OUT] py pointer to get the ordinate [OUT]
- Returns
- 0 on success, -1 if the specified video does not exist
LIBVLC_DEPRECATED LIBVLC_API int libvlc_video_get_height | ( | libvlc_media_player_t * | p_mi | ) |
Get current video height.
- Deprecated:
- Use libvlc_video_get_size() instead.
- Parameters
p_mi the media player
- Returns
- the video pixel height or 0 if not applicable
LIBVLC_API int libvlc_video_get_logo_int | ( | libvlc_media_player_t * | p_mi, |
unsigned | option | ||
) |
Get integer logo option.
- Parameters
p_mi libvlc media player instance option logo option to get, values of libvlc_video_logo_option_t
LIBVLC_API int libvlc_video_get_marquee_int | ( | libvlc_media_player_t * | p_mi, |
unsigned | option | ||
) |
Get an integer marquee option value.
- Parameters
p_mi libvlc media player option marq option to get
- See Also
- libvlc_video_marquee_int_option_t
LIBVLC_API char* libvlc_video_get_marquee_string | ( | libvlc_media_player_t * | p_mi, |
unsigned | option | ||
) |
Get a string marquee option value.
- Parameters
p_mi libvlc media player option marq option to get
- See Also
- libvlc_video_marquee_string_option_t
LIBVLC_API float libvlc_video_get_scale | ( | libvlc_media_player_t * | p_mi | ) |
Get the current video scaling factor.
See also libvlc_video_set_scale().
- Parameters
p_mi the media player
- Returns
- the currently configured zoom factor, or 0. if the video is set to fit to the output window/drawable automatically.
LIBVLC_API int libvlc_video_get_size | ( | libvlc_media_player_t * | p_mi, |
unsigned | num, | ||
unsigned * | px, | ||
unsigned * | py | ||
) |
Get the pixel dimensions of a video.
- Parameters
p_mi media player num number of the video (starting from, and most commonly 0) px pointer to get the pixel width [OUT] py pointer to get the pixel height [OUT]
- Returns
- 0 on success, -1 if the specified video does not exist
LIBVLC_API int libvlc_video_get_spu | ( | libvlc_media_player_t * | p_mi | ) |
Get current video subtitle.
- Parameters
p_mi the media player
- Returns
- the video subtitle selected, or -1 if none
LIBVLC_API int libvlc_video_get_spu_count | ( | libvlc_media_player_t * | p_mi | ) |
Get the number of available video subtitles.
- Parameters
p_mi the media player
- Returns
- the number of available video subtitles
LIBVLC_API int64_t libvlc_video_get_spu_delay | ( | libvlc_media_player_t * | p_mi | ) |
Get the current subtitle delay.
Positive values means subtitles are being displayed later, negative values earlier.
- Parameters
p_mi media player
- Returns
- time (in microseconds) the display of subtitles is being delayed
- Version
- LibVLC 2.0.0 or later
LIBVLC_API libvlc_track_description_t* libvlc_video_get_spu_description | ( | libvlc_media_player_t * | p_mi | ) |
Get the description of available video subtitles.
- Parameters
p_mi the media player
- Returns
- list containing description of available video subtitles
LIBVLC_API int libvlc_video_get_teletext | ( | libvlc_media_player_t * | p_mi | ) |
Get current teletext page requested.
- Parameters
p_mi the media player
- Returns
- the current teletext page requested.
LIBVLC_API libvlc_track_description_t* libvlc_video_get_title_description | ( | libvlc_media_player_t * | p_mi | ) |
Get the description of available titles.
- Parameters
p_mi the media player
- Returns
- list containing description of available titles
LIBVLC_API int libvlc_video_get_track | ( | libvlc_media_player_t * | p_mi | ) |
Get current video track.
- Parameters
p_mi media player
- Returns
- the video track ID (int) or -1 if no active input
LIBVLC_API int libvlc_video_get_track_count | ( | libvlc_media_player_t * | p_mi | ) |
Get number of available video tracks.
- Parameters
p_mi media player
- Returns
- the number of available video tracks (int)
LIBVLC_API libvlc_track_description_t* libvlc_video_get_track_description | ( | libvlc_media_player_t * | p_mi | ) |
Get the description of available video tracks.
- Parameters
p_mi media player
- Returns
- list with description of available video tracks, or NULL on error
LIBVLC_DEPRECATED LIBVLC_API int libvlc_video_get_width | ( | libvlc_media_player_t * | p_mi | ) |
Get current video width.
- Deprecated:
- Use libvlc_video_get_size() instead.
- Parameters
p_mi the media player
- Returns
- the video pixel width or 0 if not applicable
LIBVLC_API void libvlc_video_set_adjust_float | ( | libvlc_media_player_t * | p_mi, |
unsigned | option, | ||
float | value | ||
) |
Set adjust option as float.
Options that take a different type value are ignored.
- Parameters
p_mi libvlc media player instance option adust option to set, values of libvlc_video_adjust_option_t value adjust option value
- Version
- LibVLC 1.1.1 and later.
LIBVLC_API void libvlc_video_set_adjust_int | ( | libvlc_media_player_t * | p_mi, |
unsigned | option, | ||
int | value | ||
) |
Set adjust option as integer.
Options that take a different type value are ignored. Passing libvlc_adjust_enable as option value has the side effect of starting (arg !0) or stopping (arg 0) the adjust filter.
- Parameters
p_mi libvlc media player instance option adust option to set, values of libvlc_video_adjust_option_t value adjust option value
- Version
- LibVLC 1.1.1 and later.
LIBVLC_API void libvlc_video_set_aspect_ratio | ( | libvlc_media_player_t * | p_mi, |
const char * | psz_aspect | ||
) |
Set new video aspect ratio.
- Parameters
p_mi the media player psz_aspect new video aspect-ratio or NULL to reset to default
- Note
- Invalid aspect ratios are ignored.
LIBVLC_API void libvlc_video_set_crop_geometry | ( | libvlc_media_player_t * | p_mi, |
const char * | psz_geometry | ||
) |
Set new crop filter geometry.
- Parameters
p_mi the media player psz_geometry new crop filter geometry (NULL to unset)
LIBVLC_API void libvlc_video_set_deinterlace | ( | libvlc_media_player_t * | p_mi, |
const char * | psz_mode | ||
) |
Enable or disable deinterlace filter.
- Parameters
p_mi libvlc media player psz_mode type of deinterlace filter, NULL to disable
LIBVLC_API void libvlc_video_set_key_input | ( | libvlc_media_player_t * | p_mi, |
unsigned | on | ||
) |
Enable or disable key press events handling, according to the LibVLC hotkeys configuration.
By default and for historical reasons, keyboard events are handled by the LibVLC video widget.
- Note
- On X11, there can be only one subscriber for key press and mouse click events per window. If your application has subscribed to those events for the X window ID of the video widget, then LibVLC will not be able to handle key presses and mouse clicks in any case.
- Warning
- This function is only implemented for X11 and Win32 at the moment.
- Parameters
p_mi the media player on true to handle key press events, false to ignore them.
LIBVLC_API void libvlc_video_set_logo_int | ( | libvlc_media_player_t * | p_mi, |
unsigned | option, | ||
int | value | ||
) |
Set logo option as integer.
Options that take a different type value are ignored. Passing libvlc_logo_enable as option value has the side effect of starting (arg !0) or stopping (arg 0) the logo filter.
- Parameters
p_mi libvlc media player instance option logo option to set, values of libvlc_video_logo_option_t value logo option value
LIBVLC_API void libvlc_video_set_logo_string | ( | libvlc_media_player_t * | p_mi, |
unsigned | option, | ||
const char * | psz_value | ||
) |
Set logo option as string.
Options that take a different type value are ignored.
- Parameters
p_mi libvlc media player instance option logo option to set, values of libvlc_video_logo_option_t psz_value logo option value
LIBVLC_API void libvlc_video_set_marquee_int | ( | libvlc_media_player_t * | p_mi, |
unsigned | option, | ||
int | i_val | ||
) |
Enable, disable or set an integer marquee option.
Setting libvlc_marquee_Enable has the side effect of enabling (arg !0) or disabling (arg 0) the marq filter.
- Parameters
p_mi libvlc media player option marq option to set
- See Also
- libvlc_video_marquee_int_option_t
- Parameters
i_val marq option value
LIBVLC_API void libvlc_video_set_marquee_string | ( | libvlc_media_player_t * | p_mi, |
unsigned | option, | ||
const char * | psz_text | ||
) |
Set a marquee string option.
- Parameters
p_mi libvlc media player option marq option to set
- See Also
- libvlc_video_marquee_string_option_t
- Parameters
psz_text marq option value
LIBVLC_API void libvlc_video_set_mouse_input | ( | libvlc_media_player_t * | p_mi, |
unsigned | on | ||
) |
Enable or disable mouse click events handling.
By default, those events are handled. This is needed for DVD menus to work, as well as a few video filters such as "puzzle".
- See Also
- libvlc_video_set_key_input().
- Warning
- This function is only implemented for X11 and Win32 at the moment.
- Parameters
p_mi the media player on true to handle mouse click events, false to ignore them.
LIBVLC_API void libvlc_video_set_scale | ( | libvlc_media_player_t * | p_mi, |
float | f_factor | ||
) |
Set the video scaling factor.
That is the ratio of the number of pixels on screen to the number of pixels in the original decoded video in each dimension. Zero is a special value; it will adjust the video to the output window/drawable (in windowed mode) or the entire screen.
Note that not all video outputs support scaling.
- Parameters
p_mi the media player f_factor the scaling factor, or zero
LIBVLC_API int libvlc_video_set_spu | ( | libvlc_media_player_t * | p_mi, |
int | i_spu | ||
) |
Set new video subtitle.
- Parameters
p_mi the media player i_spu video subtitle track to select (i_id from track description)
- Returns
- 0 on success, -1 if out of range
LIBVLC_API int libvlc_video_set_spu_delay | ( | libvlc_media_player_t * | p_mi, |
int64_t | i_delay | ||
) |
Set the subtitle delay.
This affects the timing of when the subtitle will be displayed. Positive values result in subtitles being displayed later, while negative values will result in subtitles being displayed earlier.
The subtitle delay will be reset to zero each time the media changes.
- Parameters
p_mi media player i_delay time (in microseconds) the display of subtitles should be delayed
- Returns
- 0 on success, -1 on error
- Version
- LibVLC 2.0.0 or later
LIBVLC_API int libvlc_video_set_subtitle_file | ( | libvlc_media_player_t * | p_mi, |
const char * | psz_subtitle | ||
) |
Set new video subtitle file.
- Parameters
p_mi the media player psz_subtitle new video subtitle file
- Returns
- the success status (boolean)
LIBVLC_API void libvlc_video_set_teletext | ( | libvlc_media_player_t * | p_mi, |
int | i_page | ||
) |
Set new teletext page to retrieve.
- Parameters
p_mi the media player i_page teletex page number requested
LIBVLC_API int libvlc_video_set_track | ( | libvlc_media_player_t * | p_mi, |
int | i_track | ||
) |
Set video track.
- Parameters
p_mi media player i_track the track ID (i_id field from track description)
- Returns
- 0 on success, -1 if out of range
LIBVLC_API int libvlc_video_take_snapshot | ( | libvlc_media_player_t * | p_mi, |
unsigned | num, | ||
const char * | psz_filepath, | ||
unsigned int | i_width, | ||
unsigned int | i_height | ||
) |
Take a snapshot of the current video window.
If i_width AND i_height is 0, original size is used. If i_width XOR i_height is 0, original aspect-ratio is preserved.
- Parameters
p_mi media player instance num number of video output (typically 0 for the first/only one) psz_filepath the path where to save the screenshot to i_width the snapshot‘s width i_height the snapshot‘s height
- Returns
- 0 on success, -1 if the video was not found
Generated by 1.8.1.2
LibVLC video controls