2012年9月13日

摘要: 一、COM组件初始化 如果在多线程环境中使用COM组件,应使用CoInitializeEx函数加COINIT_MULTITHREADED标志而非CoInitialize函数对COM组件初始化。二、bmp文件格式 to be continued三、时间单位 1秒 = 1000毫秒 = 1000微妙 = 1000纳秒 = 1000皮秒 两个GetTickCount函数相减的时间差单位为毫秒(milliseconds)。 windows有相当一部分函数的时间参数单位为 100-nanosecond units,nanosecond即纳秒。1毫秒 = 10000 * 100-nanoseco... 阅读全文
posted @ 2012-09-13 10:18 chef 阅读(398) 评论(0) 推荐(0) 编辑

2012年8月31日

摘要: (windowSDK及MFC在学校时学过,工作后接触太少,都忘了。)一、对mixerAPI封装的一个DLL,实现获取系统声音变化通知时遇到的问题及相关思考 mixerOpen中传入HWND参数,当系统音量变化时,HWND参数对应的窗体会收到MM_MIXM_CONTROL_CHANGE消息。wParam为hMixer,通过它确定设备。lParam为dwControlID,通过它可以确定是音量控件发生变化。MSDN中有更详细描述,勿用饶舌。 通过windowSDK的CreateWindowEx建立了一个窗体,并设置其结构体参数WNDCLASSEX的lpszClassName,注册一个消息处理... 阅读全文
posted @ 2012-08-31 16:37 chef 阅读(325) 评论(0) 推荐(0) 编辑

2012年8月24日

摘要: 导致该错误的原因,是编译选项 警告级别 设置过高。 解决方法:打开项目属性->C/C++ ->general ->Warning level,调低即可。 阅读全文
posted @ 2012-08-24 18:22 chef 阅读(249) 评论(0) 推荐(0) 编辑
摘要: 一、录屏 1.GDI抓桌面图片 2.WindowsMediaFormat录制视频文件,可做音视频的混合。 WMF MSDN:http://msdn.microsoft.com/en-us/library/windows/desktop/dd758048(v=vs.85).aspx二、笔记 1.混音 to be continued 2.阅读google开源项目webrtc。该项目的核心模块voice_engine脱胎于大名鼎鼎的GIPS项目,故并未完全遵守google C++ code style。对于其中的一些设计方法、编码风格等,取其精华,去其糟糠。下面记录一些我之前... 阅读全文
posted @ 2012-08-24 18:16 chef 阅读(267) 评论(0) 推荐(0) 编辑

2012年8月17日

摘要: 下载地址如下http://download.csdn.net/detail/q191201771/4506117 阅读全文
posted @ 2012-08-17 11:01 chef 阅读(856) 评论(0) 推荐(0) 编辑
摘要: Hardware Audio Mixer Functions,是微软提供的一套API函数。 打开控制面板中的控制项——声音,可以对系统的输入、输出声音做一些设置。例如audio ouput中,可以查看主音量的左右声道、音量、是否静音,并且进行设置。还能分别对CD音量、波形等进行设置。而mixer API就是让我们自己通过编程实现这些功能,并且,当控制面板中修改了这些值时(当然,也可以是其他调用了mixer API的程序),我们还可以收到相关的通知消息。 学习mixer API最好的资料是MSDN。这是我在网上下载的一份中文的mixerAPI的资料,下载链接如下http://downloa... 阅读全文
posted @ 2012-08-17 10:59 chef 阅读(1291) 评论(0) 推荐(0) 编辑
摘要: 之前写过一篇《RTMP中FLV流到标准h264、acc的转换》,链接地址http://www.cnblogs.com/chef/archive/2012/07/18/2597279.html。着重分析了RTMP协议中h264的抽取。 带音视频交互的flash项目中,音频编码只能选择speex格式。 这篇文章分为三部分。分别为flex中提供的音频接口、RTMP中的speex数据、如何转换为RTP流。一、flex中提供的音频接口 用flex编写客户端,它提供的接口是封装过的,与speex标准编解码器之间的调用实际上相当于一个黑盒,它们之间的差异需要我们分析。 麦克风音频的接口由类Mir... 阅读全文
posted @ 2012-08-17 09:27 chef 阅读(4928) 评论(0) 推荐(0) 编辑

2012年8月2日

摘要: 查看DLL依赖项,下载地址如下:http://download.csdn.net/detail/q191201771/4471258转载请注明出处:http://www.cnblogs.com/chef 阅读全文
posted @ 2012-08-02 14:11 chef 阅读(543) 评论(0) 推荐(0) 编辑

2012年7月30日

摘要: 自然界中的声音非常复杂,波形极其复杂,通常我们采用的是脉冲代码调制编码,即PCM编码。PCM通过抽样、量化、编码三个步骤将连续变化的模拟信号转换为数字编码。1、什么是采样率和采样大小(位/bit)? 声音其实是一种能量波,因此也有频率和振幅的特征,频率对应于时间轴线,振幅对应于电平轴线。波是无限光滑的,弦线可以看成由无数点组成,由于存储空间是相对有限的,数字编码过程中,必须对弦线的点进行采样。采样的过程就是抽取某点的频率值,很显然,在一秒中内抽取的点越多,获取得频率信息更丰富,为了复原波形,一次振动中,必须有2个点的采样,人耳能够感觉到的最高频率为20kHz,因此要满足人耳的听觉要求,则需要. 阅读全文
posted @ 2012-07-30 16:55 chef 阅读(1064) 评论(0) 推荐(0) 编辑
摘要: 会议电视常用音频协议介绍及对比白皮书 一、数字化音频原理:声音其实是一种能量波,因此也有频率和振幅的特征,频率对应于时间轴线,振幅对应于电平轴线。通常人耳可以听到的频率在20Hz到20KHz的声波称为为可听声,低于20Hz的成为次声,高于20KHz的为超声,多媒体技术中只研究可听声部分。 可听声中,话音信号的频段在80Hz到3400Hz之间,音乐信号的频段在20Hz-20kHz之间,语音(话音)和音乐是多媒体技术重点处理的对象。 由于模拟声音在时间上是连续的,麦克风采集的声音信号还需要经过数字化处理后才能由计算机处理。通常我们采用PCM编码(脉冲代码调制编码),即通过采样、量化、编码三个步骤将 阅读全文
posted @ 2012-07-30 15:43 chef 阅读(8327) 评论(0) 推荐(1) 编辑

导航