libvlc怎么使用libvlc_media_add_option设置全屏和不自动缩放

hudaohai 2017-03-02 03:49:51
我用下面的代码播放视频文件源,使用libvlc_media_add_option 添加视频属性,但是只有 no-audio起作用了,
fullscreen和no-autoscale怎么都不成功阿!!怎么办啊???
libvlc_inst = libvlc_new (0, NULL);
libvlc_m = libvlc_media_new_location (libvlc_inst, "file:///test.flv");
const char *options[] = {
":no-audio",
":fullscreen",
":no-autoscale"
};
for (int i = 0; i < sizeof(options) / sizeof(options[0]); i++)
libvlc_media_add_option (libvlc_m, options[i]);

libvlc_mp = libvlc_media_player_new_from_media (libvlc_m);
libvlc_media_release (libvlc_m);
libvlc_media_player_play (libvlc_mp);
...全文
2395 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
UHARC 2018-07-20
  • 打赏
  • 举报
回复
引用 2 楼 hudaohai 的回复:
[quote=引用 1 楼 zgl7903 的回复:]
libvlc_set_fullscreen

谢谢,全屏问题解决了。不过我最核心的问题是,我有两种视频,一种是1920X1080的,一种是1280X1080的,屏幕大小是1920X1080。
1280X1080的视频不能缩放,直接居中,所以想知道no-autoscale属性怎么实现的。

能帮帮我吗?[/quote]

请问最后全屏问题是怎么解决的,谢谢~
hudaohai 2017-03-02
  • 打赏
  • 举报
回复
哈哈 我真傻 原来用libvlc_video_set_scale(libvlc_mp,1);就行了 谢谢谢谢
hudaohai 2017-03-02
  • 打赏
  • 举报
回复
引用 1 楼 zgl7903 的回复:
libvlc_set_fullscreen
谢谢,全屏问题解决了。不过我最核心的问题是,我有两种视频,一种是1920X1080的,一种是1280X1080的,屏幕大小是1920X1080。 1280X1080的视频不能缩放,直接居中,所以想知道no-autoscale属性怎么实现的。 能帮帮我吗?
zgl7903 2017-03-02
  • 打赏
  • 举报
回复
//创建初始化播放器资源 [DllImport("libvlc", CallingConvention = CallingConvention.Cdecl)] extern public static IntPtr libvlc_new(int argc, IntPtr argv); //创建播放器实例 [DllImport("libvlc", CallingConvention = CallingConvention.Cdecl)] public static extern IntPtr libvlc_media_player_new(IntPtr libvlc_instance); // 释放libvlc实例 [DllImport("libvlc", CallingConvention = CallingConvention.Cdecl)] public static extern void libvlc_release(IntPtr libvlc_instance); //获取库版本信息 [DllImport("libvlc", CallingConvention = CallingConvention.Cdecl)] public static extern String libvlc_get_version(); // 从视频来源(例如Url)构建一个libvlc_meida RTSP [DllImport("libvlc", CallingConvention = CallingConvention.Cdecl)] public static extern IntPtr libvlc_media_new_location(IntPtr libvlc_instance, IntPtr path); // 从本地文件路径构建一个libvlc_media rtsp串流不适合调用此接口 // [MarshalAs(UnmanagedType.LPStr)] string path [DllImport("libvlc", CallingConvention = CallingConvention.Cdecl)] public static extern IntPtr libvlc_media_new_path(IntPtr libvlc_instance, IntPtr path); /// /// 影片长度 /// /// /// [DllImport("libvlc", CallingConvention = CallingConvention.Cdecl)] public static extern IntPtr libvlc_media_player_get_length(IntPtr libvlc_media_player); //释放对象 [DllImport("libvlc", CallingConvention = CallingConvention.Cdecl)] public static extern void libvlc_media_release(IntPtr libvlc_media_inst); // 将视频(libvlc_media)绑定到播放器上 [DllImport("libvlc", CallingConvention = CallingConvention.Cdecl)] public static extern void libvlc_media_player_set_media(IntPtr libvlc_media_player, IntPtr libvlc_media); //创建(libvlc_media)播放窗口 [DllImport("libvlc", CallingConvention = CallingConvention.Cdecl)] publ

3,245

社区成员

发帖
与我相关
我的任务
社区描述
ATL,Active Template Library活动(动态)模板库,是一种微软程序库,支持利用C++语言编写ASP代码以及其它ActiveX程序。
社区管理员
  • ATL/ActiveX/COM社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧