/*****************************************************************************
* libvlc_media_player.h: libvlc_media_player external API
*****************************************************************************
* Copyright (C) 1998-2010 VLC authors and VideoLAN
* $Id: 94bf7e8c4461896ff0d22b7c86ce6d3f9854eb17 $
*
* 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.
*****************************************************************************/
/**
* \file
* This file defines libvlc_media_player external API
*/
#ifndef VLC_LIBVLC_MEDIA_PLAYER_H
#define VLC_LIBVLC_MEDIA_PLAYER_H 1
# ifdef __cplusplus
extern "C" {
# else
# include <stdbool.h>
# endif
/*****************************************************************************
* Media Player
*****************************************************************************/
/** \defgroup libvlc_media_player LibVLC media player
* \ingroup libvlc
* A LibVLC media player plays one media (usually in a custom drawable).
* @{
*/
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 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;
/**
* Rectangle type for video geometry
*/
typedef struct libvlc_rectangle_t
{
int top, left;
int bottom, right;
} libvlc_rectangle_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_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;
/**
* 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_media_player_pause ( libvlc_media_player_t *p_mi );
/**
* Stop (no effect if there is no media)
*
* \param p_mi the Media Player
*/
LIBVLC_API void libvlc_media_player_stop ( libvlc_media_player_t *p_mi );
/**
* Callback prototype to allocate and lock a picture buffer.
*
* Whenever a new video frame needs to be decoded, the lock callback is
* invoked. Depending on the video chroma, one or three pixel planes of
* adequate dimensions must be returned via the second parameter. Those
* planes must be aligned on 32-bytes boundaries.
*
* \param opaque private pointer as passed to libvlc_video_set_callbacks() [IN]
* \param planes start address of the pixel planes (LibVLC allocates the array
* of void pointers, this callback must initialize
没有合适的资源?快使用搜索试试~ 我知道了~
VLC2.2.1响应左键单击双击右键单击
共100个文件
h:88个
dll:4个
lib:4个
3星 · 超过75%的资源 需积分: 43 71 下载量 10 浏览量
2016-05-13
16:39:42
上传
评论 2
收藏 1.4MB RAR 举报
温馨提示
VLC 核心库默认接管了鼠标的所有响应,自己编译了VLC2.2.1源码库,使其能响应鼠标的左键单击、双击,右键的单击响应;优化缩减了最终生成文件的大小;解决了常规自编译状态下,Release 版本的调用错误问题。——欢迎指正。
资源推荐
资源详情
资源评论
收起资源包目录
VLC2.2.1响应左键单击双击右键单击 (100个子文件)
libvlccore.dll 1.93MB
libstdc++-6.dll 875KB
libvlc.dll 131KB
libgcc_s_sjlj-1.dll 93KB
libvlc_media_player.h 62KB
vlc_about.h 45KB
vlc_fourcc.h 29KB
vlc_common.h 26KB
vlc_variables.h 23KB
vlc_arrays.h 22KB
vlc_input.h 21KB
libvlc.h 20KB
vlc_plugin.h 19KB
libvlc_media.h 18KB
vlc_es.h 16KB
vlc_playlist.h 16KB
vlc_vout_display.h 15KB
vlc_atomic.h 14KB
vlc_threads.h 14KB
vlc_filter.h 14KB
vlc_block_helper.h 14KB
vlc_aout.h 13KB
libvlc_vlm.h 12KB
vlc_vlm.h 12KB
vlc_input_item.h 11KB
vlc_block.h 11KB
vlc_network.h 10KB
vlc_config_cat.h 10KB
vlc_demux.h 10KB
vlc_configuration.h 9KB
vlc_picture.h 9KB
vlc_sout.h 9KB
vlc_codec.h 8KB
vlc_events.h 8KB
vlc_subpicture.h 7KB
vlc_keys.h 7KB
vlc_meta.h 7KB
vlc_stream.h 7KB
libvlc_media_list_player.h 7KB
libvlc_media_list.h 6KB
libvlc_events.h 6KB
vlc_access.h 6KB
vlc_services_discovery.h 6KB
vlc_media_library.h 6KB
vlc_es_out.h 6KB
vlc_charset.h 6KB
vlc_addons.h 6KB
vlc_httpd.h 6KB
vlc_vout.h 5KB
vlc_cpu.h 5KB
vlc_video_splitter.h 5KB
vlc_mouse.h 5KB
vlc_vout_window.h 5KB
vlc_bits.h 5KB
vlc_config.h 4KB
vlc_text_style.h 4KB
vlc_picture_pool.h 4KB
vlc_mtime.h 4KB
vlc_dialog.h 4KB
libvlc_media_discoverer.h 4KB
vlc_modules.h 3KB
vlc_spu.h 3KB
vlc_xml.h 3KB
vlc_vout_osd.h 3KB
vlc_fs.h 3KB
vlc_image.h 3KB
vlc_gcrypt.h 3KB
vlc_fingerprinter.h 3KB
vlc_messages.h 3KB
vlc_epg.h 3KB
vlc_tls.h 3KB
libvlc_media_library.h 3KB
vlc_objects.h 3KB
vlc_picture_fifo.h 3KB
vlc_opengl.h 2KB
vlc_http.h 2KB
deprecated.h 2KB
vlc_strings.h 2KB
libvlc_version.h 2KB
vlc_xlib.h 2KB
libvlc_structures.h 2KB
vlc_probe.h 2KB
vlc_url.h 2KB
vlc.h 2KB
vlc_md5.h 2KB
vlc_inhibit.h 2KB
vlc_main.h 2KB
vlc_aout_volume.h 2KB
vlc_rand.h 1KB
vlc_meta_fetcher.h 1KB
vlc_avcodec.h 1KB
vlc_mime.h 1KB
libvlc.la 1KB
libvlccore.la 1008B
libvlccore.lib 517KB
libvlc.lib 71KB
vlccore.lib 22B
vlc.lib 18B
vlc-plugin.pc 870B
libvlc.pc 296B
共 100 条
- 1
资源评论
- 血序2019-01-28楼主有没有碰见过 在MFC对话框中可用,但是在属性页中无法捕获鼠标消息的问题?
- llawx1232018-12-19有用 就是一份资源需要下两次 浪费积分
- qq_7311904672018-07-26很好,谢谢楼主资源!
- xiaoluhelu2016-09-181、在网上找了一个工程,是可用的,但是替换成此资源的dll和lib,播放失败,获取其状态,一直是state=7,也就是error,不知道哪里出了问题xflynet2016-09-20以下建议仅供参考: 1)是否已将 Dll 全部正确替换? 2)是否已下载配套的 Plugin 文件夹,并替换配套 Plugin 文件夹。plugin 文件地址:http://download.csdn.net/detail/xflynet/9531755 。 另外,你可以从官网下载最新的能运行的安装包安装运行,成功后,在运行目录只替换 Dll 和 plugin 文件夹,看是否能运行播放成功(我自己试了下,可以无误运行)
- Menglon2016-05-19没有任何使用说明或接口说明也没有源码。现在的状态基本不可用xflynet2016-05-26该资源还依赖于编译后的plugin目录!因资源上传后不能编辑,故附上plugin目录资源网址:http://download.csdn.net/detail/xflynet/9531755,将其下载后放置于核心库的同级目录下即可。 附加下载资源: Plugin 目录: http://download.csdn.net/detail/xflynet/9531755xflynet2016-05-25此资源是可直接使用的动态库,遵循VLC标准调用接口规则;我这边有源码的成功调用,但源码在项目中已使用,不方便公开;网上示例源码很多,你可以自己创建一个 mfc 的工程,试试鼠标单击事件。
xflynet
- 粉丝: 0
- 资源: 3
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功