当前位置: 首页 > news >正文

音视频 SDL简介

一、SDL简介

SDL(Simple DirectMedia Layer)是一套开放源代码的跨平台多媒体开发库,使用C语言写成。SDL提供了数种控制图像、声音、输出入的函数,让开发者只要用相同或是相似的代码就可以开发出跨多个平台(Linux、Windows、Mac OS X等)的应用软件。目前SDL多用于开发游戏、模拟器、媒体播放器等多媒体应用领域。

二、SDL子系统

SDL将功能分成下列数个子系统(subsystem):
◼ SDL_INIT_TIMER:定时器
◼ SDL_INIT_AUDIO:音频
◼ SDL_INIT_VIDEO:视频
◼ SDL_INIT_JOYSTICK:摇杆
◼ SDL_INIT_HAPTIC:触摸屏
◼ SDL_INIT_GAMECONTROLLER:游戏控制器
◼ SDL_INIT_EVENTS:事件
◼ SDL_INIT_EVERYTHING:包含上述所有选项

三、SDL视频显示函数简介

◼ SDL_Init():初始化SDL系统
◼ SDL_CreateWindow():创建窗口SDL_Window
◼ SDL_CreateRenderer():创建渲染器SDL_Renderer
◼ SDL_CreateTexture():创建纹理SDL_Texture
◼ SDL_UpdateTexture():设置纹理的数据
◼ SDL_RenderCopy():将纹理的数据拷贝给渲染器
◼ SDL_RenderPresent():显示
◼ SDL_Delay():工具函数,用于延时
◼ SDL_Quit():退出SDL系统

//main.cpp
#include<iostream>
#include <SDL.h>#undef main
int main() 
{SDL_Window * window = NULL;SDL_Init(SDL_INIT_VIDEO);window = SDL_CreateWindow("Basic Window",SDL_WINDOWPOS_UNDEFINED, SDL_WINDOWPOS_UNDEFINED,640,480,SDL_WINDOW_OPENGL | SDL_WINDOW_RESIZABLE);if (!window){printf("Can't create window,err:%s",SDL_GetError());return 1;}SDL_Delay(10000);SDL_DestroyWindow(window);SDL_Quit();return 0;
}

推荐一个零声学院项目课,个人觉得老师讲得不错,分享给大家:
零声白金学习卡(含基础架构/高性能存储/golang云原生/音视频/Linux内核)
https://xxetb.xet.tech/s/VsFMs

http://www.lryc.cn/news/168998.html

相关文章:

  • 7.前端·新建子模块与开发(自动生成)
  • Linux 创建目录
  • 【DIY小记】修复Win10启动出现蓝屏0xc0000185错误的一些方法
  • Linux 下的 10 个 PDF 软件
  • 浅谈redis分布式锁
  • 【Python保姆级教程】List容器
  • 微服务保护-授权规则
  • v-if失效原因
  • Chrome 基于 Wappalyzer 查看网站所用的前端技术栈
  • python的装饰器
  • P2P协议的传输艺术
  • 辅助驾驶功能开发-功能规范篇(21)-4-XP行泊一体方案功能规范
  • 家政服务小程序上门服务小程序预约上门服务维修保洁上门服务在线派单技师入口
  • LeetCode精选100题-【3数之和】-2
  • springboot集成mybatis-plus
  • 再想一想GPT
  • Blazor前后端框架Known-V1.2.15
  • Tomcat 的部署和优化
  • 后端中间件安装与启动(Redis、Nginx、Nacos、Kafka)
  • 【电子元件】常用电子元器件的识别之电阻器
  • 指针和数组笔试题讲解(2)
  • MapReduce YARN 的部署
  • vue 引入zTree
  • 链队列的基本操作(带头结点,不带头结点)
  • 深入学习 Redis Cluster - 基于 Docker、DockerCompose 搭建 Redis 集群,处理故障、扩容方案
  • C现代方法(第3、4章)笔记
  • R语言绘制染色体变异位置分布图,RIdeogram包
  • Vue知识系列(7)每天10个小知识点
  • 5分钟就能实现的API监控,有什么理由不做呢?
  • Jmeter引入外部jar包以满足加密数据的Post请求