windows vlc下载配置

windows下 vlc入坑指引

引用博文 https://blog.csdn.net/leixiaohua1020/article/details/42363079?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522161581301116780261968089%2522%252C%2522scm%2522%253A%252220140713.130102334.pc%255Fblog.%2522%257D&request_id=161581301116780261968089&biz_id=0&utm_medium=distribute.pc_search_result.none-task-blog-2blogfirst_rank_v1~rank_blog_v1-1-42363079.pc_v1_rank_blog_v1&utm_term=vlc

1.下载vlc配置文件,文件后缀名为win32.7z。

下载地址:http://download.videolan.org/pub/videolan/vlc/last/win32/http://download.videolan.org/pub/videolan/vlc/last/win32/

2.拷贝到相应文件到项目中,其中sdk目录中包含头文件、vlc插件和lib库。

在这里插入图片描述

3.在vs中配置头文件和库目录,其中的lib文件只需要添libvlc.lib和libvlccore.lib,因为vlc.lib和vlccore.lib损坏,其大小不对只有1kb不到,添加到项目中会报错。

在这里插入图片描述
在这里插入图片描述

4.编译项目时,出现error C2065: “libvlc_media_read_cb”: 未声明的标识符错误,需要在引用vlc.h头文件前添加

#ifdef _WIN32 
#include <basetsd.h> 
typedef SSIZE_T ssize_t;
#endif 
#include "vlc/vlc.h"

在这里插入图片描述

5.简单测试用例及代码

// vlcPlayer.cpp : 此文件包含 "main" 函数。程序执行将在此处开始并结束。
//

#include <iostream>

#ifdef _WIN32
#include <basetsd.h>
typedef SSIZE_T ssize_t;
#endif 

#include "vlc/vlc.h"
#include <windows.h>

typedef HWND(WINAPI* PROCGETCONSOLEWINDOW)();

int main()
{
    //获取控制台句柄
    HMODULE hKernel32 = GetModuleHandle(L"kernel32");
    PROCGETCONSOLEWINDOW GetConsoleWindow = (PROCGETCONSOLEWINDOW)GetProcAddress(hKernel32, "GetConsoleWindow");
    HWND wnd = GetConsoleWindow();


    //libVLC一个实例   
    //libvlc_new 创建  libvlc_release 释放
    libvlc_instance_t* inst;  
   

    //播放的媒体  libvlc_media_new_path(文件)或libvlc_media_new_location(协议)创建  
   //  libvlc_media_release释放
    libvlc_media_t* m;

    
    //vlc播放器 
    //libvlc_media_player_new_from_media创建  libvlc_media_player_release释放
    libvlc_media_player_t* mp; 


    

    libvlc_time_t length;
    int width;
    int height;
    int wait_time = 5000;

    inst = libvlc_new(0, NULL);

    m = libvlc_media_new_location(inst, "file:///china.mp4");
    //m = libvlc_media_new_path(inst, "china.mp4");

    mp = libvlc_media_player_new_from_media(m);

    libvlc_media_release(m);

    //设置播放窗口
    libvlc_media_player_set_hwnd(mp, wnd);

    //ibvlc_media_player_play():播放。
    //libvlc_media_player_pause():暂停。
      //libvlc_media_player_stop():停止。
    libvlc_media_player_play(mp);


    Sleep(wait_time);
    length = libvlc_media_player_get_length(mp);//获取媒体文件时长
    width = libvlc_video_get_width(mp); //获取分辨率宽度
    height = libvlc_video_get_height(mp); //获取分辨率高度

    Sleep(length - wait_time);
    libvlc_media_player_stop(mp);
    libvlc_media_player_release(mp);
    libvlc_release(inst);
	
	return 0;
   
}


  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值