随笔分类 -  SDL

摘要:为什么要用多线程?在音视频领域主要是实现音视频同步。实现了音视频同步,我们的播放器就基本上合格了。 这里我们将讲解一下SDL的多线程与锁机制。 多线程的好处主要是能使程序更加充分利用硬件(主要是CPU)的性能。但是也存在相应的隐患,如果多线程管理不好,会出现协调问题。 引进的机制:线程的互斥与同步 阅读全文
posted @ 2019-03-08 21:21 灰色飘零 阅读(4326) 评论(0) 推荐(0) 编辑
摘要:在上文,我们做了YUV播放器,这样我们就入门了SDL播放视频。下面我们来做一个PCM播放,即使用SDL播放PCM数据。 下面说明一下使用SDL播放PCM音频的基本流程,主要分为两大部分:初始化SDL、循环播放数据。 1. 初始化SDL 1). 初始化SDL 执行的方法为SDL_Init(SDL_IN 阅读全文
posted @ 2019-03-04 20:37 灰色飘零 阅读(4025) 评论(1) 推荐(0) 编辑
摘要:前面铺垫了这么多,现在终于进入核心的主题了,那就是使用SDL播放视频,本节我们将使用SDL播放YUV视频,也就是做一个YUV播放器。 下面说明一下使用SDL播放YUV视频的基本流程,主要分为两大部分:初始化SDL、循环显示画面。 1. 初始化SDL 1). 初始化SDL (SDL_Init)2). 阅读全文
posted @ 2019-03-04 19:31 灰色飘零 阅读(2977) 评论(1) 推荐(0) 编辑
摘要:本文我们讲一下如何使用SDL_Texture将视频纹理渲染出来。 1. SDL 视频渲染相关对象 SDL 视频渲染主要涉及到四个对象:SDL_Window、SDL_Render、SDL_Texture和SDL_Surface。 SDL_Window代表的是窗口的逻辑概念,它是存放在主内存中的一个对象 阅读全文
posted @ 2019-03-03 18:43 灰色飘零 阅读(5261) 评论(2) 推荐(0) 编辑
摘要:在前面学习SDL的例子运行时,我们发现我们的窗口只停留了几秒,但是如果设置更长时间显然也有其他的弊端。 那么有没有一种好的办法可以解决这个问题呢?例如:能不能让窗口一直显示,直到检测到用户用鼠标点击关闭按钮后才关闭呢? 答:显然可以! 下面就来介绍一下SDL的事件处理机制。 1. SDL 事件处理机 阅读全文
posted @ 2019-03-03 18:05 灰色飘零 阅读(6965) 评论(0) 推荐(0) 编辑
摘要:在上文 SDL 开发实战(二):SDL 2.0 核心 API 解析 我们讲解了SDL最核心的API,并结合Hello World代码了解了SDL渲染画面的基本原理。 本文我们来讲一下,如何使用SDL的API绘制基本的图形。 SDL中绘制基本图形的 API并不多,主要是 点、线、矩形、填充矩形。其它图 阅读全文
posted @ 2019-03-02 12:28 灰色飘零 阅读(8827) 评论(0) 推荐(0) 编辑
摘要:在上一篇文章 SDL 开发实战(一):SDL介绍及开发环境配置 中,我们配置好了SDL的开发环境,并成功运行了SDL的Hello World 代码。但是可能大部分人还是读不太明白具体Hello Wold的代码的意义。下面我们来根据SDL的使用思路来讲解一下SDL核心API,各位可以将此文结合上一篇文 阅读全文
posted @ 2019-03-01 20:26 灰色飘零 阅读(5392) 评论(0) 推荐(0) 编辑
摘要:补充:使用Visual Studio Code 搭建SDL2开发环境:https://www.cnblogs.com/renhui/p/10387228.html。 一、什么是SDL? SDL是 “Simple DirectMedia Layer”的缩写,SDL是一个开源的跨平台的多媒体库,封装了复 阅读全文
posted @ 2019-02-28 18:41 灰色飘零 阅读(17158) 评论(0) 推荐(0) 编辑