Welcome 微信登录

首页 / 软件开发 / C++

基于libmad的MP3解码播放器

基于libmad的MP3解码播放器

基于libmad的MP3解码播放器2013-05-27libmad:是一个开源的高精度mpeg音频解码库,支持 MPEG-1(Layer I, Layer II 和 LayerIII(也就是 MP3)。LIBMAD 提供 24-bit 的 PCM 输出,完全是定点计算,非常适合没有浮点支持的平台上使用。使用 libmad 提供的一系列 API,就可以非常简单地实现 MP3 数据解码工作。在 libmad 的源代码文件目录下的 mad.h 文件中,可以看到绝...
简介C++中的String类

简介C++中的String类

简介C++中的String类2013-05-27C++中针对C语言中处理字符串的难题,在标准库中设计了string类,因此现在编程中涉及到字符串的处理,就可以直接使用string类了。之所以抛弃char*的字符串而选用C++标准程序库中的string类,是因为他和前者比较起来,不必 担心内存是否足够、字符串长度等等,而且作为一个类出现,他集成的操作函数足以完成我们大多数情况下(甚至是100%)的需要。我们可以用 = 进行赋值操作,== 进行比较,+ 做串联...
RGB与YUV简介

RGB与YUV简介

RGB与YUV简介2013-05-27RGB:红绿蓝(RGB)是计算机显示的基色,RGB565支持的色深可编程至高达每像素16位,即 RGB565(红色5位,绿色6位,蓝色5位)。YUV:视频编解码器功能视频编码器要求YUV4:2:0格式的视频输入,因此可能根据应用需要进行视频输入的预处 理,即对YUV4:2:2隔行扫描(例如从摄像机)到YUV 4:2:0非隔行扫描转换,仅抽取但不过滤UV分。对视频解码器而言,还需要进行后处理,以将解码的YUV 4:2:0...
RGB565,RGB24和RGB32的量化压缩与量化补偿

RGB565,RGB24和RGB32的量化压缩与量化补偿

RGB565,RGB24和RGB32的量化压缩与量化补偿2013-05-27关于RGB565,RGB555, RGB888,RGB32的转换,在我的前一篇博文中我已经介绍过了关于RGB565->RGB888的步骤和思想。今天上午又研究了一个上午,就谢了下来,希望能给需要帮助的哥们一点小小指导,当然了..也期待着高手过来拍砖。关于RGB的一点介绍:RGB色彩模式(也翻译为“红绿蓝”,比较少用)是工业界的一种颜色标准,是通过对红(...
RGB565与RGB888的转换

RGB565与RGB888的转换

RGB565与RGB888的转换2013-05-27RGB565的颜色格式RGB555色彩格式是相同的,除了6位是绿色的价值,而不是5。因此,所有16位 都在使用。该组织在图像缓冲区的像素是从左至右的权利,自下而上。RGB565格式说明:RGB565彩色模式, 一个像素占两个字节, 其中:第一个字节的前5位用来表示R(Red),第一个字 节的后三位+第二个字节的前三位用来表示G(Green),第二个字节的后5位用来表示B(Blue)。如 :15 14 13...
PCM音频设备的操作函数

PCM音频设备的操作函数

PCM音频设备的操作函数2013-05-27对音频设备的操作主要是初始化音频设备以及往音频设备发送 PCM(Pulse Code Modulation)数据。为了方便,本文使用 ALSA(Advanced Linux Sound Architecture)提供的库和驱动。在编译和运行本文中的 MP3 流媒体播放器的时候,必须先安装 ALSA 相关的文件。本文用到的主要对 PCM 设备操作的函数分为 PCM 设备初始化的函数以及 PCM 接口的一些操作函数。...
Qt下QSettings类详解

Qt下QSettings类详解

Qt下QSettings类详解2013-05-27Qt4.0中又增加了一个非常有用的类QSettings,这个类是Qt4提供的一个读取配置文件的类,在Windows平台上,它提供了ini文件的读写,以及注册表的读写功能。我们都知道,用户对于应用程序经常有某种需要,比如说:窗体的大小,出现的位置,以及最近打开的文件等等,而这些需求均可由QSettings类实现。一般来说settings都存放在系统之中,在windows操作系统下一般都是ini加密文件中或者是...
C++中的值传递,引用传递及指针传递

C++中的值传递,引用传递及指针传递

C++中的值传递,引用传递及指针传递2013-05-27C++的值传递,引用传递,指针传递这些概念一直是困扰C++程序员,我一直也没有一个能说清他们之间的关系通过一个简单的实例,或者说浅显的说法,找了一些相关资料,和自已的个人感受,简单介绍一下。c++中传递参数的方式有三种:传参数的值(称为值传递,简称传值),传参数的地址(称为地址传递,简称为传址),和引用传递(简称为传引用),相应的函数也就是传值调用,传址调用和传引用调用函数定义时参数表中的参数称为形式...
Win32开发入门(1) 关于C++的几个要点

Win32开发入门(1) 关于C++的几个要点

Win32开发入门(1) 关于C++的几个要点2013-06-05我不知道各位,一提起C++,第一感觉是什么?而据俺的观察,许多人几乎成了“谈C色变”。不管 是C还是C++,一直以来都被很多人视为相当难学的玩意儿,幸好只是一个C++,没有C--,C**和C//,不 然,那还得了?曾记得,某年某月某日,在某论坛上看到有牛人说“C++++”,当时我猜想这是啥玩意 儿,后来经过一番顺虅摸瓜,深入调查发现,原来有人作...
Win32开发入门(2) 完整的开发流程

Win32开发入门(2) 完整的开发流程

Win32开发入门(2) 完整的开发流程2013-06-05 csdn tcjiaan上一篇中我给各位说了一般人认为C++中较为难的东西——指针。其实对于C++,难点当然不局限在 指针这玩意儿上,还有一些有趣的概念,如模板类、虚基类、纯虚函数等,这些都是概念性的东西,几 乎每一本C++书上都会介绍,而平时我们除了会接触到纯虚函数外,其他的不多用。纯虚函数,你可以 认为与C#中的抽象方法或接口中的方法类似,即只定义,不实现。好处就是多...
Win32开发入门(4) 创建菜单

Win32开发入门(4) 创建菜单

Win32开发入门(4) 创建菜单2013-06-05 csdn tcjiaan我们当然知道 ,现在,在实际开发中肯定不会像我这样写Win32程序的,你看,连个WinMain都要N行代码。但很多人 不明白什么叫学习,什么叫探索。实际上,通常能用于实际开发中的技巧只是占我们对客观世界的认识 总和不到20%,所以,如果你有兴趣计算一下,估计有80%的知识你不知道用到哪里去了。就算我们今后 不会把Win32程序投入到实际操作中,然而如果你了解过这东西,你会发现很...
Win32开发入门(5) 具有单选标记的菜单

Win32开发入门(5) 具有单选标记的菜单

Win32开发入门(5) 具有单选标记的菜单2013-06-05 csdn IT黄老邪帅哥们,美女们,下午好,我又来误人子弟,请做好准备。今天,我们的目的是,想要实现 下图中的这种菜单效果。就是一种类似单选按钮的菜单,多个菜单项中,同时只有一个会被选中。首先,我们 在资源编辑器中,设计一个菜单资源。这个资源编辑器在管理资源ID的时候,有些问题,有时候不同步 更新,有时候会保存不到,反正就会混乱。如果遇到问题,你可以先把菜单设计好,接着打开 resource...
Win32开发入门(6):创建右键菜单

Win32开发入门(6):创建右键菜单

Win32开发入门(6):创建右键菜单2013-06-05 csdn IT黄老邪快捷菜单,说得容易理解一点,就是右键菜单,当我们在某个区域内单击鼠标右键,会弹出一些菜 单项。这种类型的菜单,是随处可见的,我们在桌面上右击一下,也会弹出一个菜单。右键菜 单的好处就是方便,它经常和我们正在操作的某个UI元素联系起来,比如我们正在使用文本框输入文本 ,我们在文本框中右击,就会看到可能有【复制】【清空】【全选】之类的选项,所以,右键菜单也称 为“上下文...
Win32开发入门(8) 绘图(A)

Win32开发入门(8) 绘图(A)

Win32开发入门(8) 绘图(A)2013-06-05 csdn tcjiaan从本篇开始,我就不吹牛皮,那就吹吹兔皮吧。说说与绘图有关的东东。要进行绘制,首先 要得到一个DC,啥是DC呢?按字面翻译叫设备上下文,也可以翻译为设备描述表,它主要指API为我们 封装了一些与显示设备相关的交互操作,我们这里说的是图形的绘制,自然指的是显卡。当然,对于同 一客观事物,世界上并不存在唯一的理解方案,技术上的东西最终拿来用的,不应该有硬性的去统一。 我们之中的很多...
<< 141 142 143 144 145 146 147 148 149 150 >>