那位朋友有可以及时传送语音的vc程序! 就是在一台机子上通过话筒说话,局域网的另一台机器上在通过输入它的IP地址与之相连后,便可以收到,也就是可以用耳机听到对方的语音。 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 我这里有语音和图象传递的例子程序 给我你的地址如果你想要的话================================================================CSDN 论坛助手 Ver 1.0 B0402提供下载。 改进了很多,功能完备!★ 浏览帖子速度极快![建议系统使用ie5.5以上]。 ★ 多种帖子实现界面。 ★ 保存帖子到本地[html格式]★ 监视您关注帖子的回复更新。★ 可以直接发贴、回复帖子★ 采用XML接口,可以一次性显示4页帖子,同时支持自定义每次显示帖子数量。可以浏览历史记录! ★ 支持在线检测程序升级情况,可及时获得程序更新的信息。★★ 签名 ● 可以在您的每个帖子的后面自动加上一个自己设计的签名哟。Http://www.ChinaOK.net/csdn/csdn.zipHttp://www.ChinaOK.net/csdn/csdn.rarHttp://www.ChinaOK.net/csdn/csdn.exe [自解压] mfkzj() 我也要,您可以给我吗?多谢!([email protected]) 我有这个代码???PPChatNet。exe!给一段代码先!#include "WaveInOut.h"LPWAVEHDR AllocateInputLPWAVEHDRMemory(UINT size){ HPSTR sublpData; HGLOBAL lpmemory; LPWAVEHDR lpInWaveHdr; lpmemory=GlobalAlloc(GMEM_MOVEABLE|GMEM_SHARE,size); if(lpmemory==NULL) ShowMessage("Failed to GloabalAlloc memory for data sublpData"); if((sublpData=(HPSTR)GlobalLock(lpmemory))==NULL) { ::MessageBox(0,"Failed to lock memory for data sublpData",NULL, MB_OK|MB_ICONEXCLAMATION); } lpmemory=GlobalAlloc(GMEM_MOVEABLE|GMEM_SHARE,(DWORD)sizeof(WAVEHDR)); if(lpmemory==NULL) ShowMessage("Failed to globalAlloc memory for data LPWAVEHDR"); lpInWaveHdr=(LPWAVEHDR)GlobalLock(lpmemory); if(lpInWaveHdr==NULL) { ::MessageBox(0,"failed to lock memory for header:lplpInWaveHdr",NULL, MB_OK|MB_ICONEXCLAMATION); } lpInWaveHdr->lpData=sublpData; lpInWaveHdr->dwBufferLength=size; lpInWaveHdr->dwLoops=0L; lpInWaveHdr->dwFlags=0L; sublpData=NULL; lpmemory=NULL; return(lpInWaveHdr); }//==============================================================================void FreeInPutBuffer(HWAVEIN hwi,LPWAVEHDR pwh){ //clear input buffer data and free input buffer if(waveInUnprepareHeader(hwi,pwh,sizeof(WAVEHDR))!=MMSYSERR_NOERROR) ShowMessage("WaveInUnperpareHeader ERROR!"); try { delete pwh->lpData; delete pwh; } catch(...) { ShowMessage("delete pwh error!"); }}LPWAVEHDR AllocateOutPutLPWAVEHDRMemory(HWAVEOUT phwo,UINT size){ LPWAVEHDR lpOutWaveHdr; lpOutWaveHdr=(LPWAVEHDR)GlobalLock(GlobalAlloc(GMEM_MOVEABLE|GMEM_SHARE, sizeof(WAVEHDR))); if(lpOutWaveHdr==NULL) ::MessageBox(0,"Failed to lock memory for header",NULL , MB_OK|MB_ICONEXCLAMATION); if((lpOutWaveHdr->lpData=(HPSTR)GlobalLock(GlobalAlloc (GMEM_MOVEABLE|GMEM_SHARE,size)))==NULL) { ::MessageBox(0,"Failed to lock memory for data chumk",NULL, MB_OK|MB_ICONEXCLAMATION); } lpOutWaveHdr->dwBufferLength=size; lpOutWaveHdr->dwFlags=0L; lpOutWaveHdr->dwLoops=0L; waveOutPrepareHeader(phwo,lpOutWaveHdr,sizeof(WAVEHDR)); return(lpOutWaveHdr); }//==============================================================================void FreeOutPutBuffer(HWAVEOUT hwo,LPWAVEHDR pwh){ //clear output buffer data and free output buffer switch(waveOutUnprepareHeader(hwo,pwh,sizeof(WAVEHDR))) { case MMSYSERR_INVALHANDLE: ShowMessage("MMSYSERR_INVALHANDLE");return; case MMSYSERR_NODRIVER: ShowMessage("MMSYSERR_NODRIVE");return; case MMSYSERR_NOMEM: ShowMessage("MMSYSERR_NOMEM");return; case WAVERR_STILLPLAYING: ShowMessage("WAVERR_STILLPLAYING");return; } try { delete pwh->lpData; delete pwh; } catch(...) { ShowMessage("delete 'pwh'error!"); }} 切换edit控件的提示信息 请问VC 如何从压缩包中读取bitmap并显示出来? 关于取CDBVariant中多条数据的问题 ++i与i++?? Delphi中调用C++的DLL问题. @@@CAB执行的问题,晕了,高手看看,为什么安装了,说找不到方法?@@@@@ 初学VC.对用VC房问数据库不是不了解. MP3文件的音乐,在技术上,是否可以把歌声和音乐分离出来呢。请各位高手指点!!!! 谢谢!!! 100分求问?` 关于网络广播的问题。 数据库的排序问题? 如何截获WIN2k登陆密码?
★ 保存帖子到本地[html格式]★ 监视您关注帖子的回复更新。
★ 可以直接发贴、回复帖子★ 采用XML接口,可以一次性显示4页帖子,同时支持自定义每次显示帖子数量。可以浏览历史记录!
★ 支持在线检测程序升级情况,可及时获得程序更新的信息。★★ 签名 ●
可以在您的每个帖子的后面自动加上一个自己设计的签名哟。Http://www.ChinaOK.net/csdn/csdn.zip
Http://www.ChinaOK.net/csdn/csdn.rar
Http://www.ChinaOK.net/csdn/csdn.exe [自解压]
我也要,您可以给我吗?多谢!([email protected])
LPWAVEHDR AllocateInputLPWAVEHDRMemory(UINT size)
{
HPSTR sublpData;
HGLOBAL lpmemory;
LPWAVEHDR lpInWaveHdr;
lpmemory=GlobalAlloc(GMEM_MOVEABLE|GMEM_SHARE,size);
if(lpmemory==NULL)
ShowMessage("Failed to GloabalAlloc memory for data sublpData");
if((sublpData=(HPSTR)GlobalLock(lpmemory))==NULL)
{
::MessageBox(0,"Failed to lock memory for data sublpData",NULL,
MB_OK|MB_ICONEXCLAMATION);
}
lpmemory=GlobalAlloc(GMEM_MOVEABLE|GMEM_SHARE,(DWORD)sizeof(WAVEHDR));
if(lpmemory==NULL)
ShowMessage("Failed to globalAlloc memory for data LPWAVEHDR");
lpInWaveHdr=(LPWAVEHDR)GlobalLock(lpmemory);
if(lpInWaveHdr==NULL)
{
::MessageBox(0,"failed to lock memory for header:lplpInWaveHdr",NULL,
MB_OK|MB_ICONEXCLAMATION);
}
lpInWaveHdr->lpData=sublpData;
lpInWaveHdr->dwBufferLength=size;
lpInWaveHdr->dwLoops=0L;
lpInWaveHdr->dwFlags=0L;
sublpData=NULL;
lpmemory=NULL;
return(lpInWaveHdr);
}
//==============================================================================void FreeInPutBuffer(HWAVEIN hwi,LPWAVEHDR pwh)
{
//clear input buffer data and free input buffer
if(waveInUnprepareHeader(hwi,pwh,sizeof(WAVEHDR))!=MMSYSERR_NOERROR)
ShowMessage("WaveInUnperpareHeader ERROR!");
try
{
delete pwh->lpData;
delete pwh;
}
catch(...)
{
ShowMessage("delete pwh error!");
}
}
LPWAVEHDR AllocateOutPutLPWAVEHDRMemory(HWAVEOUT phwo,UINT size)
{
LPWAVEHDR lpOutWaveHdr;
lpOutWaveHdr=(LPWAVEHDR)GlobalLock(GlobalAlloc(GMEM_MOVEABLE|GMEM_SHARE,
sizeof(WAVEHDR)));
if(lpOutWaveHdr==NULL)
::MessageBox(0,"Failed to lock memory for header",NULL ,
MB_OK|MB_ICONEXCLAMATION);
if((lpOutWaveHdr->lpData=(HPSTR)GlobalLock(GlobalAlloc
(GMEM_MOVEABLE|GMEM_SHARE,size)))==NULL)
{
::MessageBox(0,"Failed to lock memory for data chumk",NULL,
MB_OK|MB_ICONEXCLAMATION);
}
lpOutWaveHdr->dwBufferLength=size;
lpOutWaveHdr->dwFlags=0L;
lpOutWaveHdr->dwLoops=0L;
waveOutPrepareHeader(phwo,lpOutWaveHdr,sizeof(WAVEHDR));
return(lpOutWaveHdr);
}
//==============================================================================void FreeOutPutBuffer(HWAVEOUT hwo,LPWAVEHDR pwh)
{
//clear output buffer data and free output buffer
switch(waveOutUnprepareHeader(hwo,pwh,sizeof(WAVEHDR)))
{
case MMSYSERR_INVALHANDLE:
ShowMessage("MMSYSERR_INVALHANDLE");return;
case MMSYSERR_NODRIVER:
ShowMessage("MMSYSERR_NODRIVE");return;
case MMSYSERR_NOMEM:
ShowMessage("MMSYSERR_NOMEM");return;
case WAVERR_STILLPLAYING:
ShowMessage("WAVERR_STILLPLAYING");return;
}
try
{
delete pwh->lpData;
delete pwh;
}
catch(...)
{
ShowMessage("delete 'pwh'error!");
}
}