- 博客(12)
- 资源 (1)
- 收藏
- 关注
原创 strcpy ,strncpy ,strlcpy地用法
strcpy ,strncpy ,strlcpy地用法好多人已经知道利用strncpy替代strcpy来防止缓冲区越界。但是如果还要考虑运行效率的话,也许strlcpy是一个更好的方式。1. strcpy我们知道,strcpy 是依据 /0 作为结束判断的,如果 to 的空间不够
2011-07-29 15:22:31 564
原创 aec in speex利用Speex进行AEC(回声抑制)的代码实现
#include #include static SpeexEchoState *echo_state = NULL;static SpeexPreprocessState *denoise_state;static pthread_mutex_t mutex_aec;stati
2011-07-29 10:36:01 4471 1
原创 深度研究speex的回音消除技术
每一路通话一个线程,在每一路通话中建立stream对于read write用轮寻即可以基本保证语音的同步,而且这样建立的语音效果和read、write分别用一个线程没什么区别,我用过后个人觉得speex的AEC还是不错的。
2011-07-29 10:30:02 2148 1
原创 Speex manul中文版
在VOIP的音频算法中,回音处理已经成为一个关系通话质量的主要问题。回声的产生在IP网络主要有两种:1.声学回声2.电路回声声学回声主要又分成以下几种:a ) 直接回声:由扬声器产生的声音未经任何反射直接进入麦克风b ) 间接回声: 由扬声器发出的声音经过多次反射后,再进入Mic
2011-07-29 10:19:21 1755
原创 VoIP网络电话回音产生的原因分析
Q:请问打VoIP网路电话时,听到的回音是哪来的? A:在PBX或局用交换机侧,有少量电能未被充分转换而且沿原路返回,形成回声。如果打电话者离PBX或交换机不远,回声返回很快,人耳听不出来,这种情况下无关紧要。但是当回声返回时间超过10ms时,人耳就可听到明显的回声了。为了防
2011-07-29 10:06:08 4968
原创 如何视频会议中回声的发现与消除
回声是电视会议中最常见的声音问题之一。在会议电视系统的调试过程中,回声的发现与消除,是需要系统维护人员重点解决的一个课题。 一、 回声的定义及特征 1. 什么是电视会议中的回声 在电视会议中,当本会场的声音信号传到对方会场后,进入对方的麦克风,通过调音台、会议电视系统
2011-07-29 10:00:44 6397
原创 浅谈回声消除技术
一、 回声的基本概念在我们的日常生活中经常可以听见回声,但什么是回声?恐怕许多人就不知道了。通常来说,回声是指被声波反射返回或重复的声音或者是信号的反射使得它又返回到说话者,换句话说: 您听到了您自己的说话。有些回声是我们需要的,它持续的时间很短并且电平很低,一般让人感觉比较自然
2011-07-29 09:46:50 2215 1
原创 利用已知的进行分割字符串的算法
#include #include #include #include using namespace std;typedef basic_string::size_type S_T; static const S_T npos = -1; ////trim指示是否保留空串,
2011-07-25 11:04:01 867
原创 VC从文件全路径中获取文件名和扩展名方法(CString)
<br />方法一:<br />CString CPrintImage::GetFileTitleFromFileName(CString FileName,CString& ExtendName) //获取文件名和扩展名<br />{<br />int Where;<br />Where=FileName.ReverseFind('//');<br />if(Where==-1)<br />{<br />Where=FileName.ReverseFind('/');<br />}<br />CStrin
2010-06-22 14:19:00 2289
原创 VC中对word每页文件的单独拷贝
<br />wDoc.Select();<br /> WordSelection Sel=word->GetSelection();<br /> long lCurrentStart=Sel.GetStart();<br /> long lCurrentEnd=lCurrentStart;<br /> long lDocumentEnd=Sel.GetEnd();<br /> Sel.Collapse(COleVariant((short)1));//折叠范围或选定内容
2010-06-22 14:17:00 1235
原创 C++ 分割字符串函数
<br />#include <iostream><br />#include <string><br />using namespace std;<br />int main()<br />{ <br /> string str="aaa,bbb,ccc,ddd";<br /> string stra[10];<br /> int index = str.find(',');<br /> int i=0;<br /> <br /> while(index!=-1)<br /
2010-06-22 13:52:00 645
原创 VS2005 没有找到MFC80D.DLL的解决方法
<br />原因好像是因为fat32的文件系统的时间戳有问题,ntfs分区下就没这个问题。<br /> 解决方案是:在编辑状态下,点项目菜单 -> XXX属性页 -> 配置属性 -> 清单工具,将右面的“使用FAT32解决办法”选为“是”即可。简单地,其实把程序目录下的Debug目录整个删掉,再让VS全部重新生成文件也能解决这个问题,只是可能再犯。<br />没有找到MFC80D.DLL的解决方法。问题出现在程序运行清单上,默认是"嵌入清单",清单文件是"$(IntDir/$(TargetFile
2010-06-22 13:48:00 1174
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人