c#中播放视频
一、简单说明
上一节,已经完成了视频的解码和转码功能,如果现在经理提了一个需求:要用c#开发一个视频播放器。那么如何才能使用c#,将上一节打印出来的看不懂的像素,显示到页面上呢,下面就一步一步来实现。
二、暴露c++接口
1、创建头文件:右击c++项目-->添加新建项
2、引入头文件:
3、头文件中,暴露c++中的函数接口:
//url:文件地址
extern "C" _declspec(dllexport) int init_ffmpeg(char* url);
//读取一帧
extern "C" _declspec(dllexport) int read_frame();
//获取视频帧
extern "C" _declspec(dllexport) char *get_video_frame();
//获取视频缓存大小
extern "C" _declspec(dllexport) int get_video_buffer_size();
//获取视频宽度
extern "C" _declspec(dllexport) int get_video_width();
//获取视频高度
extern "C" _declspec(dllexport) int get_video_height();
//释放资源
extern "C" _declspec(dllexport) void release();
三、将c++项目改造为动态链接库(dll)项目
1、右击c++项目-->属性-->配置属性-->常规-->项目默认值-->配置类型-->选择动态库,操作如下图所示:
注意:这里采用的是vs默认的Debug配置,平台采用的是vs默认的win32平台。开发的同学可以根据自己的需求,在这个页面进行配置。
2、重新生成c++项目: