高性能的可视电话软件
NetTalk效率很高,比我所见的一些可视通话软件要好(如AVPHONE,注:在此并无破坏AVPHONE所在公司形象之意图,仅将软件作客观上的比较)
全图形界面
全图形的界面使得操作方便快捷
AVIOMgr模块
AVIOMgr是一个可视通信的通用模块,在NetTalk中是一个独立的模块,对它进行一些简单的处理,可以做成静态库、动态库或ActiveX控件,以用于其他软件。
AVIOMgr封装了包括:视频采集、视频压缩、音频采集、音频压缩、音频播放、数据传输、命令控制等一系列与可视通讯有关的功能。一切对AVIOMgr的控制和AVIOMgr的信息反馈仅通过几个简单的消息和几个简单的函数调用就能完成。
VFW函数族中某些函数的疑惑:
capDriverConnect
capDriverDisconnect
这两个函数的调用必须在同一个线程内,而且似乎还必须同在主线程内,否则就会造成capDriverDisconnect的调用失败,具体是何原因还不太清楚。
疑惑
waveIn函数族中某些函数的疑惑:
如果用回调机制,那么很可能在结束录音时(调用waveInReset的时候)出现死锁,导致程序无法正常退出,MSDN中在对waveInProc的说明中提到这一点,并列出了一系列不能调用的函数,可我并没有调用它列举的函数,却依然在某些机子上出现死锁现象,不解(后改用线程通知机制)
对Socket(UDP)编程的一些看法:
sendto\rcevfrom是阻塞型的函数,通过WSASelect 等函数的调用,可以把这两个函数变成非阻塞的(异步),这需要创建用来接收消息的窗口,在调用WSASelect 的时候,隐含地创建了一个线程。而我却习惯于用阻塞型的,创建一个线程,其中有一个循环,不断调用 rcevfrom。有些书上说异步的效率要高一些,当我觉得我这种方法的效率不会低。以前做过的第三只眼远程控制软件和NetTalk 均采用这种结构,并未发现任何性能上的不足。
new的失败
当一个线程经常反复调用new/delete或者用new分配大块内存时,需要特别注意new的运行结果,不要总以为NEW是成功的,有时候也会失败,在NetTalk中就发现了这种情况。(已解决)
VCM函数族中某些函数的疑惑:
ICDecompress函数在某些情况下(具体很难描述)会失败,在MSDEV中出现0xc0000005 access violation的debug错误,不解。后来仅调整了几个函数的调用顺序就解决了。
115软件工厂对软件、代码及文档保留所有权
没有合适的资源?快使用搜索试试~ 我知道了~
温馨提示
高性能的可视电话软件 NetTalk效率很高,比我所见的一些可视通话软件要好(如AVPHONE,注:在此并无破坏AVPHONE所在公司形象之意图,仅将软件作客观上的比较) AVIOMgr模块 AVIOMgr是一个可视通信的通用模块,在NetTalk中是一个独立的模块,对它进行一些简单的处理,可以做成静态库、动态库或ActiveX控件,以用于其他软件。 AVIOMgr封装了包括:视频采集、视频压缩、音频采集、音频压缩、音频播放、数据传输、命令控制等一系列与可视通讯有关的功能 分网络传输部分、音频输入、音频输出、视频输入、视频输出、音频视频压缩、音频波形显示、界面。共创建个线程,音频输入线程、音频输出线程(这两个有WINAPI隐式创建)、音频视频压缩传送线程和主线程。因为音频的采样率比视频采样率高得多,这里的音频的采样率为8000Hz而视频仅为20左右,所以从宏观来看,音频是连续的,而视频是非连续的,这也就是无须为视频输入输出创建独立线程的原因。 网络传输:基于UDP协议,有两组SOCKET,一组用于指令发送和接受(要求可靠),另一组负责音频视频数据的传送和接受(不保证可靠性)。 音频输入:通过waveIn函数族完成连续的录音 音频输出:通过waveOut函数族完成连续的放音 视频输入:通过cap函数族对视频进行捕获 视频输出:通过cap函数族实现视频输出 音频视频压缩:音频压缩采用G.729标准(8:1,1kbps),视频压缩采用H.263+标准 音频波形显示:将PCM音频数据以波形动态地显示出来 界面:与用户交互
资源推荐
资源详情
资源评论
收起资源包目录
C++高性能的可视电话软件NetTalk(包含AVIOMgr可视通信模块) (191个子文件)
Main.aps 527KB
2.bmp 681KB
1.bmp 380KB
12_26_27_218.bmp 198KB
12_24_22_109.bmp 198KB
12_22_0_281.bmp 198KB
12_24_10_187.bmp 198KB
12_24_4_937.bmp 198KB
12_24_20_250.bmp 198KB
12_24_24_781.bmp 198KB
12_21_59_671.bmp 198KB
12_21_58_250.bmp 198KB
video2.bmp 111KB
face.bmp 64KB
logo1.bmp 52KB
logo.bmp 44KB
video1.bmp 31KB
video3.bmp 31KB
title1.bmp 4KB
title2.bmp 4KB
othertit.bmp 3KB
videotitle1.bmp 3KB
videotitle3.bmp 3KB
videotitle4.bmp 3KB
videotitle2.bmp 3KB
addr2.bmp 3KB
setup1.bmp 3KB
setup3.bmp 3KB
call2.bmp 3KB
call3.bmp 3KB
addr3.bmp 3KB
setup2.bmp 3KB
hang1.bmp 3KB
hang3.bmp 3KB
addr1.bmp 3KB
call1.bmp 3KB
hang2.bmp 3KB
video_outview1.bmp 1KB
msg2.bmp 1KB
video_outview3.bmp 1KB
video_local2.bmp 1KB
video_local1.bmp 1KB
video_lo.bmp 1KB
msg3.bmp 1KB
msg1.bmp 1KB
video_onoff3.bmp 1KB
video_outview6.bmp 1KB
video_local3.bmp 1KB
video_onoff6.bmp 1KB
video_outview4.bmp 1KB
video_onoff4.bmp 1KB
video_onoff2.bmp 1KB
video_outview2.bmp 1KB
video_onoff1.bmp 1KB
video_onoff5.bmp 1KB
video_outview5.bmp 1KB
saveframe1.bmp 1KB
zoom2.bmp 1KB
saveframe3.bmp 1KB
zoom3.bmp 1KB
zoom1.bmp 1KB
saveframe2.bmp 1KB
help3.bmp 1KB
about3.bmp 1KB
close1.bmp 1KB
close5.bmp 1KB
close3.bmp 1KB
close6.bmp 1KB
close4.bmp 1KB
min3.bmp 1KB
about2.bmp 1KB
help1.bmp 1KB
min1.bmp 1KB
close2.bmp 1KB
min2.bmp 1KB
help2.bmp 1KB
about1.bmp 1KB
video_.bmp 1KB
Main.cpp 49KB
AVIOMgr.cpp 28KB
VolumeInXXX.cpp 17KB
VideoWnd.cpp 15KB
VolumeOutMaster.cpp 15KB
VolumeOutWave.cpp 14KB
WndX.cpp 14KB
ddutil.cpp 8KB
RippleWnd.cpp 7KB
GraphDlg.cpp 7KB
GDIX.CPP 7KB
MsgBox.cpp 6KB
AddrBook.cpp 6KB
WaveShow.cpp 6KB
MsgTalk.cpp 6KB
UDPSocket.cpp 6KB
CoolBtn.cpp 5KB
CodecMgr.cpp 5KB
TrayNotify.cpp 5KB
SlideBar.cpp 5KB
NewMsgBox.cpp 4KB
Hash.cpp 4KB
共 191 条
- 1
- 2
shushx
- 粉丝: 1
- 资源: 10
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功
- 1
- 2
前往页