FFmpeg 从零开始开发简单的音视频播放器(七)(完结)

本文档介绍了如何使用FFmpeg在c#环境下开发一个音视频播放器,包括c++接口的暴露、动态链接库的创建、NAudio组件的集成以及WPF后台代码的编写,最终实现简单的音视频同步播放功能。
摘要由CSDN通过智能技术生成

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文件了。如上
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值