当前位置:   article > 正文

SDL介绍及下载_sdl下载

sdl下载

1、简介

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

  SDL使用GNU宽通用公共许可证为授权方式,意指动态链接(dynamic link)其库并不需要开放本身的源代码。因此诸如《雷神之锤4》等商业游戏也使用SDL来开发。这种跨平台特性和 OpenGL 是一样的,差别在与 OpenGL 是 Khronos Group 组织开发维护的一个接口规范,具体的实现是由驱动厂商完成。而 SDL 是把要兼容平台的相关接口都给封装好了,然后才对外提供统一的接口。

  由于 SDL 的跨平台特性,在后续学习 FFmpeg 时就可以利用 SDL 进行音视频的播放操作,而不用像在 Android 平台上开发 FFmpeg 还需要额外编译 so、编写JNI和界面,另外 ffplay 源码里面也是用的 SDL 进行播放的。

  简单总结,SDL库的作用就是封装了复杂的视音频底层操作,简化了视音频处理的难度。

2、SDL下载

  进入SDL管网:http://www.libsdl.org/ 进行下载即可。选择自己需要的版本,记得下载那个带vc的SDL2-devel-2.0.22-VC.zip版本。
在这里插入图片描述
在这里插入图片描述
解压后如下所示:
在这里插入图片描述

3、SDK介绍

  SDL库分为 Video、Audio、CD-ROM、Joystick 和 Timer 等若干子系统,除此之外,还有一些单独的官方扩充函数库。这些库由官方网站提供,并包含在官方文档中,共同组成了SDL的“标准库”:

  • SDL_image—支持时下流行的图像格式:BMP、PPM、XPM、 PCX、GIF、JPEG、PNG、TGA。
  • SDL_mixer—更多的声音输出函数以及更多的声音格式支持。
  • SDL_net—网络支持。
  • SDL_ttf—TrueType字体渲染支持。
  • SDL_rtf—简单的RTF渲染支持。

在这里插入图片描述
SDL将功能分成下列数个子系统(subsystem):

  • Video(图像)—图像控制以及线程(thread)和事件管理(event)
  • Audio(声音)—声音控制
  • Joystick(摇杆)—游戏摇杆控制
  • CD-ROM(光盘驱动器)—光盘媒体控制
  • Window Management(视窗管理)-与视窗程序设计集成
  • Event(事件驱动)-处理事件驱动

SDL与DirectX比较对应关系:
在这里插入图片描述

以下是一支用C语言写成、非常简单的SDL示例:

#include <iostream>
#include <SDL2/SDL.h>
using namespace std;
int main(int argc, char* argv[])
{
    // Initialize SDL
    if(SDL_Init(SDL_INIT_EVERYTHING) == -1)
        return(1);
 
    // Delay 2 seconds
    SDL_Delay(2000);
 
    // Quit SDL
    SDL_Quit();
 
    // Return
    return 0;
}
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/羊村懒王/article/detail/303553
推荐阅读
相关标签
  

闽ICP备14008679号