开发学院软件开发VC 实时语音通信的实现 阅读

实时语音通信的实现

 2010-08-15 20:47:46 来源:WEB开发网 闂傚倸鍊风欢姘缚瑜嶈灋闁圭虎鍠栫粻顖炴煥閻曞倹瀚�闂傚倸鍊风粈渚€骞夐敓鐘插瀭闁汇垹鐏氬畷鏌ユ煙閹殿喖顣奸柛搴$У閵囧嫰骞掗幋婵冨亾閻㈢ǹ纾婚柟鐐灱濡插牊绻涢崱妤冃℃繛宀婁簽缁辨捇宕掑鎵佹瀸闂佺懓鍤栭幏锟�濠电姷鏁告慨顓㈠箯閸愵喖宸濇い鎾寸箘閹规洟姊绘笟鈧ḿ褍煤閵堝悿娲Ω閳轰胶鍔﹀銈嗗笂閼冲爼鍩婇弴銏$厪闁搞儮鏅涙禒褏绱掓潏鈺佷槐闁轰焦鎹囬弫鎾绘晸閿燂拷闂傚倸鍊风欢姘缚瑜嶈灋闁圭虎鍠栫粻顖炴煥閻曞倹瀚�  闂傚倸鍊烽懗鑸电仚缂備胶绮〃鍛村煝瀹ュ鍗抽柕蹇曞У閻庮剟姊虹紒妯哄妞ゆ劗鍘ч埥澶娢熼柨瀣偓濠氭⒑瑜版帒浜伴柛鎾寸☉閳绘柨顫濋懜纰樻嫼闂佸憡绋戦オ鏉戔枔閺冣偓缁绘稓浠﹂崒姘瀳闂佸磭绮幑鍥嵁鐎n亖鏀介柟閭﹀墯椤斿倹淇婇悙顏勨偓鏍ь潖婵犳艾鍌ㄧ憸蹇涘箟閹绢喗鏅搁柨鐕傛嫹
核心提示:引言本人虽已学习VC++一年半载,仍觉捉襟见肘,实时语音通信的实现,好在有VCKBASE的帮忙,确实学 到了不少东西,例子程序运行画面:下面且看我细细道来:(一)首先定义了一个声音数据“块”struct CAudioData{PBYTE lpdata; //指向语音数据,注意这里内存区域是动态申

引言

本人虽已学习VC++一年半载,仍觉捉襟见肘,好在有VCKBASE的帮忙,确实学 到了不少东西,www.vckbase.com也成了我每次上民网必到之处(阁下有所不知, 鄙人接受最为严格的管理,上民网是要申请的)。近日在做一个通信 方面的程序 ,实时的语音和视频通信当然是大家所喜欢的。本文将向您展示局域网环境下实 时语音通信的的一个解决方案(视频这一块正在做,估计很快就能出炉),Winxp环 境下测试效果良好,并且具有网络 拥塞处理机制,您不妨一看。

本文以第26期 栾义明 先生的《基于API的录音机程序》为基础的,在此深表 感谢。雷同之处将不再赘述,主要做了以下发展:

(1) 利用多线程机制,实现录音、网络传输、放音同时进行。

(2) 网 络壅塞处理,保证数据不丢失。

例子程序运行画面:

下面且看我细细道来:

(一)首先定义了一个声音数据“块”

struct CAudioData
{
  PBYTE lpdata; //指向语音数据,注意这里内存区域是动态申请释放的
  DWORD dwLength;//语音数据长度
}
接下来申明两个循环队列和相关指针。

//InBlocks,OutBlocks非别为两个常数
CAudioData m_AudioDataIn[InBlocks],m_AudioDataOut[OutBlocks];
int  nAudioIn, nSend, //录入、发送指针
   nAudioOut, nReceive;//接收、播放指针
// 对于录音和放音都 存在和网络的同步问题,主要靠这些指针进行协调

1 2 3  下一页

Tags:实时 语音 通信

编辑录入:爽爽 [复制链接] [打 印]
[]
  • 好
  • 好的评价 如果觉得好,就请您
      0%(0)
  • 差
  • 差的评价 如果觉得差,就请您
      0%(0)
赞助商链接