小彭屋

导航

07 2013 档案

vc 中调用COM组件的方法
摘要:需求:1.创建myCom.dll,该COM只有一个组件,两个接口:IGetRes--方法Hello(),IGetResEx--方法HelloEx()2.在工程中导入组件或类型库#import"组件所在目录myCom.dll"no_namespace或#import"类型库所在目录myCom.tlb"usingnamespaceMYCOM;方法一:CoInitialize(NULL);CLSIDclsid;CLSIDFromProgID(OLESTR("myCom.GetRes"),&clsid);CComPtrpGetRes; 阅读全文

posted @ 2013-07-31 11:13 小彭屋 阅读(405) 评论(0) 推荐(0)

给pcm格式文件加wav文件头
摘要:#include #include #include void main(){//wav头的结构如下所示:typedef struct{char fccID[4];unsigned long dwSize;char fccType[4];}HEADER; //RIFF WAVE Chunktypedef struct{charfccID[4];unsigned longdwSize;unsigned short wFormatTag;unsigned short wChannels;unsigned long dwSamplesPerSec;unsigned long dwAvgBytesPe 阅读全文

posted @ 2013-07-18 10:52 小彭屋 阅读(1954) 评论(0) 推荐(0)

pcm跟.wav文件的关系
摘要:PCM(Pulse Code Modulation----脉码调制录音)。所谓PCM录音就是将声音等模拟信号变成符号化的脉冲列,再予以记录。PCM信号是由[1]、[0]等符号构成的数字信号,而未经过任何编码和压缩处理。与模拟信号比,它不易受传送系统的杂波及失真的影响。动态范围宽,可得到音质相当好的影响效果。WAV 是由微软开发的一种音频格式。WAV符合 PIFF Resource Interchange File Format规范。所有的WAV都有一个文件头,这个文件头音频流的编码参数。WAV对音频流的编码没有硬性规定,除了PCM之外,还有几乎所有支持 ACM规范的编码都可以为WAV的音频流进 阅读全文

posted @ 2013-07-18 10:48 小彭屋 阅读(544) 评论(0) 推荐(0)

各种音视频编解码学习详解 h264 ,mpeg4 ,aac 等所有音视频格式
摘要:编解码学习笔记(一):基本概念媒体业务是网络的主要业务之间。尤其移动互联网业务的兴起,在运营商和应用开发商中,媒体业务份量极重,其中媒体的编解码服务涉及需求分析、应用开发、释放 license收费等等。最近因为项目的关系,需要理清媒体的codec,比较搞的是,在豆丁网上看运营商的规范标准,同一运营商同样的业务在不同文档中不同的要求,而且有些要求就我看来应当是历史的延续,也就是现在已经很少采用了。所以豆丁上看不出所以然,从 wiki上查。中文的wiki信息量有限,很短,而wiki的英文内容内多,删减版也减肥得太过。我在网上还看到一个山寨的中文wiki,长得很像,红色的,叫“天下维客”。wiki的 阅读全文

posted @ 2013-07-16 15:40 小彭屋 阅读(2308) 评论(0) 推荐(0)

关于ES、PES、PS/TS 码流
摘要:一、基本概念1)ESES--Elementary Streams (原始流)是直接从编码器出来的数据流,可以是编码过的视频数据流(H.264,MJPEG等),音频数据流(AAC),或其他编码数据流的统称。ES流经过PES打包器之后,被转换成PES包。 ES是只包含一种内容的数据流,如只含视频或只含音频等,打包之后的PES也是只含一种性质的ES,如只含视频ES的PES,只含音频ES的PES等。每个ES都由若干个存取单元(AU)组成,每个视频AU或音频AU都是由头部和编码数据两部分组成,1个AU相当于编码的1幅视频图像或1个音频帧,也可以说,每个AU实际上是编码数据流的显示单元,即相当于解码的1幅 阅读全文

posted @ 2013-07-16 13:36 小彭屋 阅读(706) 评论(0) 推荐(0)

基于tcp/udp的协议
摘要:使用TCP协议的常见端口主要有以下几种:(1) FTP:定义了文件传输协议,使用21端口。常说某某计算机开了FTP服务便是启动了文件传输服务。下载文件,上传主页,都要用到FTP服务。(2) Telnet:它是一种用于远程登陆的端口,用户可以以自己的身份远程连接到计算机上,通过这种端口可以提供一种基于DOS模式下的通信服务。如以前的BBS是-纯字符界面的,支持BBS的服务器将23端口打开,对外提供服务。(3) SMTP:定义了简单邮件传送协议,现在很多邮件服务器都用的是这个协议,用于发送邮件。如常见的免费邮件服务中用的就是这个邮件服务端口,所以在电子邮件设置-中常看到有这么SMTP端口设置这个栏 阅读全文

posted @ 2013-07-11 09:51 小彭屋 阅读(508) 评论(0) 推荐(0)

HTTP返回值
摘要:100 Continue:初始的请求已经接受,客户应当继续发送请求的其余部分。 101 Switching Protocols:服务器将遵从客户的请求转换到另外一种协议。 200 OK:一切正常,对GET和POST请求的应答文档跟在后面。如果不用SetStatus设置状态代码,Servlet默认使用202状态代码。 201 Created 服务器已经创建了文档,Location头给出了它的URL。 202 Accepted:已经接受请求,但处理尚未完成。 203 Non-Authoritative Information:文档已经正常地返回,但一些应答头可能不正确,因为使用的是文档的拷贝。 2 阅读全文

posted @ 2013-07-10 11:04 小彭屋 阅读(372) 评论(0) 推荐(0)

typedef与#define的区别与联系
摘要:typedef和#define的用法与区别一、typedef的用法在C/C++语言中,typedef常用来定义一个标识符及关键字的别名,它是语言编译过程的一部分,但它并不实际分配内存空间,实例像:typedef int INT;typedef int ARRAY[10];typedef (int*) pINT;typedef可以增强程序的可读性,以及标识符的灵活性,但它也有“非直观性”等缺点。二、#define的用法#define为一宏定义语句,通常用它来定义常量(包括无参量与带参量),以及用来实现那些“表面似和善、背后一长串”的宏,它本身并不在编译过程中进行,而是在这之前(预处理过程)就已经 阅读全文

posted @ 2013-07-10 10:34 小彭屋 阅读(182) 评论(0) 推荐(0)

网络协议规范大全
摘要:在网络的各层中存在着许多协议,它是定义通过网络进行通信的规则,接收方的发送方同层的协议必须一致,否则一方将无法识别另一方发出的信息,以这种规则规定双方完成信息在计算机之间的传送过程。下面就对网络协议规范作个概述。 ARP(Address Resolution Protocol)地址解析协议 它是用于映射计算 机的物理地址和临时指定的网络地址。启动时它选择一 个协议(网络层)地址,并检查这个地址是否已经有别的计算机使用,如果没有被使用,此结点被使用这个地址,如果此地址已经被别的计算机使用,正在使用此地址的计算机会通告这一信息,只有再选另一个地址了。 SNMP(Simple Network... 阅读全文

posted @ 2013-07-09 15:59 小彭屋 阅读(2799) 评论(0) 推荐(0)

用MFC类来操作数据库的方法
摘要:MFC ODBC将ODBC API封装在类CDatabase、CRecordSet、CFieldExchange、CRecordView和CDBException中使用MFC ODBC开发数据库应用程序的一般步骤使用AppWizard访问数据库使用类CDatabase连接数据库使用类CRecordSet打开记录集、获取数据使用类CRecordSet的函数MoveFirst()、MoveLast()、MoveNext()、MovePrev()、IsBOF()和IsEOF()进行记录集的遍历使用类CRecordSet的函数AddNew和Update增加记录使用类CRecordSet的函数Edit和 阅读全文

posted @ 2013-07-09 11:40 小彭屋 阅读(830) 评论(0) 推荐(0)

Oracle Grant 与 Revoke的用法
摘要:一、权限是用户对一项功能的执行权力。在Oracle 中,根据系统管理方式不同,将权限分为系统权限 与实体权限 两类。系统权限 是指是否被授权用户可以连接到数据库上,在数据库中可以进行哪些系统操作。实体权限 是指用户对具体的模式实体 (schema)所拥有的权限。这样讲可以有些模糊。举个例子来说:select any table是系统权限,它表示可以查看任何表。而select on table1是实体权限,表示对表table1的查询权限。二、见下下面的表三、系统权限授权命令的使用 语法: GRANT 权限名 TO 用户|角色|PUBLIC 其中,PUBLIC表示将权限赋给数据库中所有的用户 例: 阅读全文

posted @ 2013-07-07 12:00 小彭屋 阅读(14389) 评论(0) 推荐(0)

音频压缩代码集锦···
摘要:// conv.cpp//// convert a PCM wave to some other format//转换一个PCM格式的wav到其他格式#include //包含头文件 windows.h#include //包含头文件mmsystem.h#include // Multimedia registration多媒体注册#include // Audio Compression Manager音频压缩管理器#include #include // Locate a driver that supports a given format and return its ID//寻... 阅读全文

posted @ 2013-07-04 16:51 小彭屋 阅读(974) 评论(0) 推荐(0)

PCM原始音频采样数据压缩为GSM6.10格式的大致流程
摘要:使用ACM来进行音频格式压缩的大致步骤:1、使用acmDriverEnum函数来枚举操作系统的所有音频格式驱动,把GSM6.10格式的驱动取出来。GSM6.10格式驱动的名称为:Microsoft GSM 6.10 Audio CODEC2、使用acmDriverOpen函数将上面取得的驱动ID打开。3、通过acmMetrics函数来获取GSM6.10格式Format Chunk的附加数据长度,为4个字节。大致调用如下:acmMetrics((HACMOBJ)m_hDriverCmp, ACM_METRIC_MAX_SIZE_FORMAT, &nSize);4、使用acmFormatS 阅读全文

posted @ 2013-07-04 10:13 小彭屋 阅读(1851) 评论(0) 推荐(0)

VC调用ACM音频编程接口压缩Wave音频
摘要:音频和视频是多媒体应用程序向用户提供信息的主要方式,这些音频、视频数据一般都具有较高的采样率,经过压缩的原始数据才具有实用价值,否则不仅要占用大量存储空间而且在播放或进行网络传输时效率也是非常低下的,所以音频、视频数字压缩编码在多媒体应用中有着广泛而又重要的用途。本文主要对音频的编码压缩作了阐述。 音频的编码压缩方式有许多种,如基于ITU-T G.728语音编码协议的LD-CELP 低时延码激励线性预测编码、基于ITU-T G.711语音编码协议的PCM(Pulse Code Modulation ,脉冲编码调制)编码以及我们非常熟悉的GSM数字蜂窝移动电话的语音编码标准等等。这些不同的压缩. 阅读全文

posted @ 2013-07-03 10:32 小彭屋 阅读(642) 评论(0) 推荐(0)

C++ 语音聊天
摘要:对语音控制思路为:先在服务端录音然后通用网络传输最后在客户端播放,下面我们分别讨论录音,传输,放音的实现步骤录音实现:对计算机录音我们可以使用一系列API,简单过程如下waveInOpen 打开录音设备waveInPrepareHeader 准备录音缓冲区waveInAddBuffer 将缓冲区加入队列waveInStart 开始录音waveInUnPrepareHeader 释放录音缓冲区waveInReset 停止录音waveInClose 关闭录音设备放音实现:对计算机放音,简单过程如下waveOutOpen... 阅读全文

posted @ 2013-07-02 17:51 小彭屋 阅读(2599) 评论(0) 推荐(0)

socket编程中select的使用
摘要:Select在Socket编程中还是比较重要的,可是对于初学Socket的人来 说都不太爱用Select写程序,他们只是习惯写诸如connect、accept、recv或recvfrom这样的阻塞程序(所谓阻塞方式 block,顾名思义,就是进程或是线程执行到这些函数时必须等待某个事件的发生,如果事件没有发生,进程或线程就被阻塞,函数不能立即返回)。可是使用 Select就可以完成非阻塞(所谓非阻塞方式non-block,就是进程或线程执行此函数时不必非要等待事件的发生,一旦执行肯定返回,以返回值的不 同来反映函数的执行情况,如果事件发生则与阻塞方式相同,若事件没有发生则返回一个代码来告知事件 阅读全文

posted @ 2013-07-01 10:36 小彭屋 阅读(521) 评论(0) 推荐(0)