在前面学习SDL的例子运行时,我们发现我们的窗口只停留了几秒,但是如果设置更长时间显然也有其他的弊端。 那么有没有一种好的办法可以解决这个问题呢?例如:能不能让窗口一直显示,直到检测到用户用鼠标点击关闭按钮后才关闭呢? 答:显然可以! 下面就来介绍一下SDL的事件处理机制。 1. SDL ...
为什么要用多线程 在音视频领域主要是实现音视频同步。实现了音视频同步,我们的播放器就基本上合格了。 这里我们将讲解一下SDL的多线程与锁机制。 多线程的好处主要是能使程序更加充分利用硬件 主要是CPU 的性能。但是也存在相应的隐患,如果多线程管理不好,会出现协调问题。 引进的机制:线程的互斥与同步 互斥:同一个资源在一定时间内只能由一个方法访问。 同步:一个方法完成后的内容需要同步到其他的方法,在 ...
2019-03-08 21:21 0 1435 推荐指数:
在前面学习SDL的例子运行时,我们发现我们的窗口只停留了几秒,但是如果设置更长时间显然也有其他的弊端。 那么有没有一种好的办法可以解决这个问题呢?例如:能不能让窗口一直显示,直到检测到用户用鼠标点击关闭按钮后才关闭呢? 答:显然可以! 下面就来介绍一下SDL的事件处理机制。 1. SDL ...
本文我们讲一下如何使用SDL_Texture将视频纹理渲染出来。 1. SDL 视频渲染相关对象 SDL 视频渲染主要涉及到四个对象:SDL_Window、SDL_Render、SDL_Texture和SDL_Surface。 SDL_Window代表的是窗口的逻辑概念,它是存放在主内存中 ...
一、什么是SDL? SDL是 “Simple DirectMedia Layer”的缩写,SDL是一个开源的跨平台的多媒体库,封装了复杂的音视频底层操作,简化了音视频处理的难度。 SDL使用C语言写成,提供了数种控制图像、声音、输出入的函数,可以开发出跨多个平台(Linux、Windows ...
在上文 SDL 开发实战(二):SDL 2.0 核心 API 解析 我们讲解了SDL最核心的API,并结合Hello World代码了解了SDL渲染画面的基本原理。 本文我们来讲一下,如何使用SDL的API绘制基本的图形。 SDL中绘制基本图形的 API并不多,主要是 点、线、矩形、填充矩形 ...
在上一篇文章 SDL 开发实战(一):SDL介绍及开发环境配置 中,我们配置好了SDL的开发环境,并成功运行了SDL的Hello World 代码。但是可能大部分人还是读不太明白具体Hello Wold的代码的意义。下面我们来根据SDL的使用思路来讲解一下SDL核心API,各位可以将此文结合上一篇 ...
在上文,我们做了YUV播放器,这样我们就入门了SDL播放视频。下面我们来做一个PCM播放,即使用SDL播放PCM数据。 下面说明一下使用SDL播放PCM音频的基本流程,主要分为两大部分:初始化SDL、循环播放数据。 1. 初始化SDL 1). 初始化SDL 执行的方法为SDL ...
1、SDL_CreateThread 原始定义 /** * Create a thread. */ extern DECLSPEC SDL_Thread *SDLCALL SDL ...
一:SDL介绍与安装 (一)SDL介绍 (二)SDL安装 1.源码下载:http://www.libsdl.org/download-2.0.php 2.生成Makefile文件 3.安装 二:SDL的简单使用 SDL播放视频 ...