/*****************************************************************************
* 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
*/
LIBVLC_API void libvlc_media_player_set_pause ( libvlc_media_player_t *mp,
int do_pause );
/**
* Toggle pause (no effect if there is no media)
*
* \param p_mi the Media Player
*/
LIBVLC_API void libvlc_me
没有合适的资源?快使用搜索试试~ 我知道了~
VLC3.0.16 sdk添加录像接口(win32)
共472个文件
dll:368个
h:98个
lib:4个
需积分: 3 3 下载量 178 浏览量
2024-01-04
09:36:10
上传
评论
收藏 29.36MB 7Z 举报
温馨提示
windows32位 vlc-SDK,两种方式都可调用录像接口(如需64位请查找本人另一个资源): 1、LIBVLC_API int libvlc_media_player_record_start( libvlc_media_player_t *p_mi, const char *psz_filepath, const char *psz_filename ); LIBVLC_API int libvlc_media_player_record_stop( libvlc_media_player_t *p_mi ); 2、LIBVLC_API int libvlc_video_toggle_record(libvlc_media_player_t *p_mi,const char *psz_filepath,const char *psz_filename);
资源推荐
资源详情
资源评论
收起资源包目录
VLC3.0.16 sdk添加录像接口(win32) (472个子文件)
libqt_plugin.dll 16.42MB
libavcodec_plugin.dll 14.88MB
libaccess_output_srt_plugin.dll 3.11MB
libaccess_srt_plugin.dll 3.11MB
liblibass_plugin.dll 2.85MB
libx265_plugin.dll 2.7MB
libvnc_plugin.dll 2.63MB
libfreetype_plugin.dll 2.61MB
libvlccore.dll 2.51MB
libdcp_plugin.dll 2.34MB
libskins2_plugin.dll 2.25MB
libadaptive_plugin.dll 2.16MB
libgnutls_plugin.dll 1.98MB
libvpx_plugin.dll 1.97MB
liblibbluray_plugin.dll 1.9MB
libx26410b_plugin.dll 1.76MB
libx264_plugin.dll 1.76MB
libmkv_plugin.dll 1.68MB
libprojectm_plugin.dll 1.64MB
libtaglib_plugin.dll 1.55MB
libsamplerate_plugin.dll 1.43MB
libzvbi_plugin.dll 1.39MB
libsid_plugin.dll 1.23MB
libschroedinger_plugin.dll 1.14MB
libstream_out_chromecast_plugin.dll 1.07MB
libspatialaudio_plugin.dll 1.05MB
libxml_plugin.dll 997KB
libaom_plugin.dll 962KB
libswscale_plugin.dll 816KB
libdav1d_plugin.dll 815KB
libcaca_plugin.dll 795KB
libsftp_plugin.dll 708KB
libvorbis_plugin.dll 705KB
libsdl_image_plugin.dll 698KB
axvlc.dll 697KB
libstream_out_rtp_plugin.dll 659KB
libts_plugin.dll 559KB
libremoteosd_plugin.dll 548KB
libstream_out_chromaprint_plugin.dll 547KB
libaccess_output_livehttp_plugin.dll 542KB
liblive555_plugin.dll 537KB
librtp_plugin.dll 534KB
npvlc.dll 500KB
libglwin32_plugin.dll 445KB
libarchive_plugin.dll 437KB
libaccess_output_shout_plugin.dll 414KB
libupnp_plugin.dll 414KB
libmod_plugin.dll 404KB
libmpg123_plugin.dll 373KB
liblua_plugin.dll 346KB
libopus_plugin.dll 333KB
libgme_plugin.dll 313KB
libmp4_plugin.dll 312KB
libdirect3d11_plugin.dll 311KB
libaribsub_plugin.dll 309KB
libtheora_plugin.dll 309KB
libogg_plugin.dll 305KB
libdshow_plugin.dll 284KB
libdtv_plugin.dll 283KB
libfluidsynth_plugin.dll 283KB
libd3d11va_plugin.dll 278KB
libgl_plugin.dll 263KB
libwgl_plugin.dll 261KB
libmux_mp4_plugin.dll 257KB
libfaad_plugin.dll 255KB
libpng_plugin.dll 250KB
libnfs_plugin.dll 248KB
libdirect3d9_plugin.dll 237KB
libdxva2_plugin.dll 237KB
libflac_plugin.dll 217KB
libdirectdraw_plugin.dll 217KB
libdvdnav_plugin.dll 204KB
libwingdi_plugin.dll 202KB
libjpeg_plugin.dll 198KB
libgoom_plugin.dll 190KB
libdca_plugin.dll 169KB
libdirect3d11_filters_plugin.dll 165KB
libcdda_plugin.dll 160KB
libvlc.dll 153KB
libdeinterlace_plugin.dll 152KB
libpacketizer_h264_plugin.dll 150KB
libblend_plugin.dll 150KB
libqsv_plugin.dll 147KB
libwebvtt_plugin.dll 146KB
libmux_ts_plugin.dll 146KB
libplaylist_plugin.dll 144KB
libdvdread_plugin.dll 140KB
libpacketizer_hevc_plugin.dll 133KB
libmad_plugin.dll 131KB
libpostproc_plugin.dll 129KB
libspeex_plugin.dll 129KB
libsap_plugin.dll 126KB
libtwolame_plugin.dll 126KB
liblibmpeg2_plugin.dll 125KB
libh26x_plugin.dll 124KB
libhttps_plugin.dll 123KB
libmft_plugin.dll 118KB
libaccess_realrtsp_plugin.dll 116KB
libdirect3d9_filters_plugin.dll 114KB
libi420_rgb_sse2_plugin.dll 111KB
共 472 条
- 1
- 2
- 3
- 4
- 5
资源评论
会飞的花斑猪
- 粉丝: 16
- 资源: 3
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功