⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 特点和存在问题.txt

📁 nettalk
💻 TXT
字号:
高性能的可视电话软件

    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软件工厂对软件、代码及文档保留所有权


⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -