c#音视频播放器
一、简单说明
前面FFmpeg 从零开始开发简单的音视频播放器(五)中,我们已经完成了一个没有声音的纯视频播放器,现在我们要在该视频播放器的基础上进行改造,添加音频播放功能。通过上一节FFmpeg 从零开始开发简单的音视频播放器(六)的开发,我们已经完成了c++部分的音频解码功能,现在就接将它整合到视频播放器中。
二、暴露c++接口
在头文件中,添加以下函数接口:
//url:文件地址
extern "C" _declspec(dllexport) int init_ffmpeg(char* url);
//读取一帧 -1:未取到 1:音频 2:视频
extern "C" _declspec(dllexport) int read_frame();
//获取音频帧
extern "C" _declspec(dllexport) char *get_audio_frame();
//获取视频帧
extern "C" _declspec(dllexport) char *get_video_frame();
//获取音频缓存大小
extern "C" _declspec(dllexport) int get_audio_buffer_size();
//获取视频缓存大小
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++项目:
--------------------------------------------------------------------------------
现在项目的生成的已经不再是exe文件了。如上