原文地址: https://blog.csdn.net/JerryWu145/article/details/79395088
首先,向雷霄骅,雷神致敬
感觉最近更新的比较慢,但还是坚持能够每天一篇吧,如果没有及时更新,大家看到的话请催我一下~~
我们前边5篇文章基本上讲解完了FFMPEG库的一些使用了,那么今天我们来看下sdl库的使用
回顾下视频显示知识
视频显示的流程:
视频显示的流程,其实就是讲像素数据“画”在屏幕上的过程
比如显示YUV,就是讲YUV“画”在系统的窗口中
SDL简介
作用
SDL全称:Simple DirectMedia Layer,他这个库的作用说白了就是封装了复杂的视频音频底层交互工作,简化了视音频处理的难度,换句大白话说就是以前你显示视音频的话可能需要调用十来条代码,但是通过使用sdl就只需要调用一两条代码即可
特点
跨平台:可以在pc ios android平台使用
开源:代码开源
所以说学会了使用sdl,就可以开发各种平台的视频播放软件了,是不是很期待哦,好好跟着课程走吧~~
SDL结构
SDL结构如下图所示,可以看出他实际上还是调用了DiectX等底层的API完成了和硬件的交互。
VC下SDL开发环境的搭建
新建控制台工程
打开visual studio
文件——>新建——>项目——>win32控制台应用程序
拷贝SDL开发文件
头文件(\*.h)拷贝到项目文件夹的include子文件夹下
导入库文件(\*.lib)拷贝至项目文件夹的lib子文件夹下
动态库文件(\*.dll)拷贝至文件夹下
配置开发文件
打开属性面板,解决方案资源管理器——>右键单击项目——>属性
头文件配置:
配置属性——>c/c++——>常规——>附加包含目录,输入“include”(刚才拷贝文件的目录)
导入库配置:
配置属性——>链接器——>常规——>附加库目录,输入“lib”(刚才拷贝文件的目录)
配置属性——>链接器——>输入——>附加依赖项,输入“SDL2.lib,SDL2main.lib”(导入库的文件名)
ok,这样就好了,其实和前两篇文章中的配置ffmpeg类似
测试一下吧
创建源代码文件
在工程中创建一个包含main()函数的c/c++文件
包含头文件
如果是c语言中使用sdl,则直接使用下面代码
#include "SDL2/SDL.h"
如果是c++语言中使用sdl,则使用下方的代码
extern "C"
{
#include "SDL2/SDL.h"
}
main()中调用一个SDL的接口函数
例如下面代码初始化了SDL
int main(int argc,char*argv[]){
if(SDL_init(SDL_INIT_VIDEO)){
printf("Could not initialize SDL -%s\n",SDL_GetError());
}else{
printf("Success init SDL");
}
return 0;
}
如果运行无误,则表示SDL已经配置完成
ok,本篇配置sdl就到这里,有需要资源的可以联系我,谢谢关注