音视频 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


相关文章
|
7月前
|
存储 编解码 vr&ar
用C++实现视频编码器:FFmpeg与SDL技术结合,轻松编写高效编解码器
用C++实现视频编码器:FFmpeg与SDL技术结合,轻松编写高效编解码器
826 0
|
存储 Cloud Native Linux
音视频 SDL vs2017配置
音视频 SDL vs2017配置
|
存储 编解码 Linux
FFmpeg+SDL播放器开发实践:解析、解码、渲染全流程详解
FFmpeg+SDL播放器开发实践:解析、解码、渲染全流程详解
|
存储 Cloud Native Linux
音视频 vs2017配置FFmpeg
音视频 vs2017配置FFmpeg
[笔记]音视频学习之SDL篇《三》使用拓展库
[笔记]音视频学习之SDL篇《三》使用拓展库
|
存储 Cloud Native Linux
音视频 FFmpeg音视频处理流程
音视频 FFmpeg音视频处理流程
|
7月前
|
Web App开发 编解码 vr&ar
使用FFmpeg从音视频处理到流媒体技术的探索和实战应用
使用FFmpeg从音视频处理到流媒体技术的探索和实战应用
309 2
|
7月前
|
Linux C语言 开发者
音视频-SDL的简单使用
音视频-SDL的简单使用
56 0
|
7月前
【音视频 ffmpeg 】直播推流QT框架搭建
【音视频 ffmpeg 】直播推流QT框架搭建
[笔记]音视频学习之SDL篇《十三》播放音乐和特效
[笔记]音视频学习之SDL篇《十三》播放音乐和特效