/*****************************************************************************
* libvlc_media_player.h: libvlc_media_player external API
*****************************************************************************
* Copyright (C) 1998-2015 VLC authors and VideoLAN
* $Id: c431c235e92ced9e6e7d7712eb7ff0e73dc4f933 $
*
* Authors: Clément Stenac <zorglub@videolan.org>
* Jean-Paul Saman <jpsaman@videolan.org>
* Pierre d'Herbemont <pdherbemont@videolan.org>
*
* This program is free software; you can redistribute it and/or modify it
* under the terms of the GNU Lesser General Public License as published by
* the Free Software Foundation; either version 2.1 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public License
* along with this program; if not, write to the Free Software Foundation,
* Inc., 51 Franklin Street, Fifth Floor, Boston MA 02110-1301, USA.
*****************************************************************************/
#ifndef VLC_LIBVLC_MEDIA_PLAYER_H
#define VLC_LIBVLC_MEDIA_PLAYER_H 1
# ifdef __cplusplus
extern "C" {
# else
# include <stdbool.h>
# endif
/** \defgroup libvlc_media_player LibVLC media player
* \ingroup libvlc
* A LibVLC media player plays one media (usually in a custom drawable).
* @{
* \file
* LibVLC simple media player external API
*/
typedef struct libvlc_media_player_t libvlc_media_player_t;
/**
* Description for video, audio tracks and subtitles. It contains
* id, name (description string) and pointer to next record.
*/
typedef struct libvlc_track_description_t
{
int i_id;
char *psz_name;
struct libvlc_track_description_t *p_next;
} libvlc_track_description_t;
/**
* Description for titles
*/
enum
{
libvlc_title_menu = 0x01,
libvlc_title_interactive = 0x02
};
typedef struct libvlc_title_description_t
{
int64_t i_duration; /**< duration in milliseconds */
char *psz_name; /**< title name */
unsigned i_flags; /**< info if item was recognized as a menu, interactive or plain content by the demuxer */
} libvlc_title_description_t;
/**
* Description for chapters
*/
typedef struct libvlc_chapter_description_t
{
int64_t i_time_offset; /**< time-offset of the chapter in milliseconds */
int64_t i_duration; /**< duration of the chapter in milliseconds */
char *psz_name; /**< chapter name */
} libvlc_chapter_description_t;
/**
* Description for audio output. It contains
* name, description and pointer to next record.
*/
typedef struct libvlc_audio_output_t
{
char *psz_name;
char *psz_description;
struct libvlc_audio_output_t *p_next;
} libvlc_audio_output_t;
/**
* Description for audio output device.
*/
typedef struct libvlc_audio_output_device_t
{
struct libvlc_audio_output_device_t *p_next; /**< Next entry in list */
char *psz_device; /**< Device identifier string */
char *psz_description; /**< User-friendly device description */
/* More fields may be added here in later versions */
} libvlc_audio_output_device_t;
/**
* Marq options definition
*/
typedef enum libvlc_video_marquee_option_t {
libvlc_marquee_Enable = 0,
libvlc_marquee_Text, /** string argument */
libvlc_marquee_Color,
libvlc_marquee_Opacity,
libvlc_marquee_Position,
libvlc_marquee_Refresh,
libvlc_marquee_Size,
libvlc_marquee_Timeout,
libvlc_marquee_X,
libvlc_marquee_Y
} libvlc_video_marquee_option_t;
/**
* Navigation mode
*/
typedef enum libvlc_navigate_mode_t
{
libvlc_navigate_activate = 0,
libvlc_navigate_up,
libvlc_navigate_down,
libvlc_navigate_left,
libvlc_navigate_right,
libvlc_navigate_popup
} libvlc_navigate_mode_t;
/**
* Enumeration of values used to set position (e.g. of video title).
*/
typedef enum libvlc_position_t {
libvlc_position_disable=-1,
libvlc_position_center,
libvlc_position_left,
libvlc_position_right,
libvlc_position_top,
libvlc_position_top_left,
libvlc_position_top_right,
libvlc_position_bottom,
libvlc_position_bottom_left,
libvlc_position_bottom_right
} libvlc_position_t;
/**
* Enumeration of teletext keys than can be passed via
* libvlc_video_set_teletext()
*/
typedef enum libvlc_teletext_key_t {
libvlc_teletext_key_red = 'r' << 16,
libvlc_teletext_key_green = 'g' << 16,
libvlc_teletext_key_yellow = 'y' << 16,
libvlc_teletext_key_blue = 'b' << 16,
libvlc_teletext_key_index = 'i' << 16,
} libvlc_teletext_key_t;
/**
* Opaque equalizer handle.
*
* Equalizer settings can be applied to a media player.
*/
typedef struct libvlc_equalizer_t libvlc_equalizer_t;
/**
* Create an empty Media Player object
*
* \param p_libvlc_instance the libvlc instance in which the Media Player
* should be created.
* \return a new media player object, or NULL on error.
*/
LIBVLC_API libvlc_media_player_t * libvlc_media_player_new( libvlc_instance_t *p_libvlc_instance );
/**
* Create a Media Player object from a Media
*
* \param p_md the media. Afterwards the p_md can be safely
* destroyed.
* \return a new media player object, or NULL on error.
*/
LIBVLC_API libvlc_media_player_t * libvlc_media_player_new_from_media( libvlc_media_t *p_md );
/**
* Release a media_player after use
* Decrement the reference count of a media player object. If the
* reference count is 0, then libvlc_media_player_release() will
* release the media player object. If the media player object
* has been released, then it should not be used again.
*
* \param p_mi the Media Player to free
*/
LIBVLC_API void libvlc_media_player_release( libvlc_media_player_t *p_mi );
/**
* Retain a reference to a media player object. Use
* libvlc_media_player_release() to decrement reference count.
*
* \param p_mi media player object
*/
LIBVLC_API void libvlc_media_player_retain( libvlc_media_player_t *p_mi );
/**
* Set the media that will be used by the media_player. If any,
* previous md will be released.
*
* \param p_mi the Media Player
* \param p_md the Media. Afterwards the p_md can be safely
* destroyed.
*/
LIBVLC_API void libvlc_media_player_set_media( libvlc_media_player_t *p_mi,
libvlc_media_t *p_md );
/**
* Get the media used by the media_player.
*
* \param p_mi the Media Player
* \return the media associated with p_mi, or NULL if no
* media is associated
*/
LIBVLC_API libvlc_media_t * libvlc_media_player_get_media( libvlc_media_player_t *p_mi );
/**
* Get the Event Manager from which the media player send event.
*
* \param p_mi the Media Player
* \return the event manager associated with p_mi
*/
LIBVLC_API libvlc_event_manager_t * libvlc_media_player_event_manager ( libvlc_media_player_t *p_mi );
/**
* is_playing
*
* \param p_mi the Media Player
* \return 1 if the media player is playing, 0 otherwise
*
* \libvlc_return_bool
*/
LIBVLC_API int libvlc_media_player_is_playing ( libvlc_media_player_t *p_mi );
/**
* Play
*
* \param p_mi the Media Player
* \return 0 if playback started (and was already started), or -1 on error.
*/
LIBVLC_API int libvlc_media_player_play ( libvlc_media_player_t *p_mi );
/**
* Pause or resume (no effect if there is no media)
*
* \param mp the Media Player
* \param do_pause play/resume if zero, pause if non-zero
* \version LibVLC 1.1.1 or later
*/
LI
没有合适的资源?快使用搜索试试~ 我知道了~
vlc3.0.8-linux-x64
共450个文件
so:296个
h:108个
luac:36个
4 下载量 122 浏览量
2023-11-08
14:23:39
上传
评论
收藏 16.54MB RAR 举报
温馨提示
vlc库,3.0.8版本,适用于linux-x64操作系统,音视频开发相关
资源推荐
资源详情
资源评论
收起资源包目录
vlc3.0.8-linux-x64 (450个子文件)
libvlc_xcb_events.so.0 39KB
libvlc_xcb_events.so.0.0.0 39KB
libvlc.so.5 799KB
libvlccore.so.9 5.4MB
libcompat.a 15KB
plugins.dat 201KB
libvlc_media_player.h 73KB
vlc_about.h 49KB
vlc_fourcc.h 35KB
vlc_threads.h 32KB
vlc_common.h 29KB
libvlc_media.h 29KB
vlc_es.h 23KB
vlc_input.h 23KB
vlc_variables.h 22KB
vlc_codecs.h 21KB
vlc_arrays.h 21KB
vlc_block.h 20KB
vlc_plugin.h 20KB
libvlc.h 20KB
vlc_demux.h 18KB
vlc_dialog.h 17KB
vlc_playlist.h 17KB
vlc_stream.h 17KB
vlc_input_item.h 16KB
vlc_vout_display.h 16KB
vlc_aout.h 16KB
vlc_filter.h 16KB
vlc_codec.h 15KB
vlc_fixups.h 14KB
deprecated.h 14KB
vlc_text_style.h 13KB
libvlc_vlm.h 13KB
vlc_tls.h 12KB
vlc_extensions.h 12KB
vlc_vlm.h 12KB
vlc_block_helper.h 12KB
vlc_vout_window.h 11KB
vlc_config_cat.h 10KB
vlc_sout.h 10KB
vlc_interface.h 10KB
vlc_keystore.h 10KB
vlc_network.h 10KB
vlc_fs.h 9KB
vlc_configuration.h 9KB
vlc_actions.h 9KB
vlc_subpicture.h 9KB
vlc_picture.h 9KB
vlc_charset.h 8KB
libvlc_dialog.h 8KB
libvlc_events.h 8KB
vlc_meta.h 8KB
vlc_interrupt.h 8KB
vlc_services_discovery.h 8KB
libvlc_renderer_discoverer.h 7KB
libvlc_media_list_player.h 7KB
vlc_atomic.h 7KB
vlc_url.h 7KB
vlc_es_out.h 7KB
vlc_picture_pool.h 7KB
vlc_bits.h 7KB
vlc_events.h 7KB
libvlc_media_list.h 6KB
vlc_renderer_discovery.h 6KB
vlc_addons.h 6KB
libvlc_media_discoverer.h 6KB
vlc_stream_extractor.h 6KB
vlc_media_library.h 6KB
vlc_intf_strings.h 6KB
vlc_httpd.h 6KB
vlc_vout.h 6KB
vlc_cpu.h 5KB
vlc_video_splitter.h 5KB
vlc_boxes.h 5KB
vlc_mouse.h 5KB
vlc_strings.h 5KB
vlc_config.h 5KB
vlc_epg.h 4KB
vlc_mtime.h 4KB
vlc_messages.h 4KB
vlc_modules.h 4KB
vlc_opengl.h 4KB
vlc_http.h 4KB
vlc_xml.h 3KB
vlc_vout_wrapper.h 3KB
vlc_timestamp_helper.h 3KB
vlc_vout_osd.h 3KB
vlc_spu.h 3KB
vlc_image.h 3KB
vlc_fingerprinter.h 3KB
vlc_objects.h 3KB
libvlc_media_library.h 3KB
vlc_picture_fifo.h 3KB
vlc_vod.h 3KB
vlc_access.h 3KB
vlc_memstream.h 2KB
vlc_update.h 2KB
vlc_viewpoint.h 2KB
libvlc_version.h 2KB
vlc_xlib.h 2KB
共 450 条
- 1
- 2
- 3
- 4
- 5
资源评论
问~
- 粉丝: 873
- 资源: 22
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功