高分求助,看过cloudshadow1(小强)网络播放器代码都进来,分数不够可再加,决不食言。
问题1:能够正常编译,但是在运行ServerPlus时就出现应用程序错误的对话框,显示:“0x100334f9指 令引用的的
0x01926000 内存。该内存不能为read。”
如果我在void CServerPlusDlg::InitCompressor()里加入
m_CV.cbSize=sizeof(m_CV);
ICCompressorChoose(this->m_hWnd,0,NULL,NULL,&m_CV,"Choose a Compressor");
屏蔽掉:
memset(&m_CV,0,sizeof(COMPVARS));
m_CV.dwFlags=ICMF_COMPVARS_VALID;
m_CV.cbSize=sizeof(m_CV);
m_CV.cbState=0;
m_CV.fccHandler=mmioFOURCC('d','i','v','x');
m_CV.fccType=ICTYPE_VIDEO;
m_CV.hic=ICOpen(ICTYPE_VIDEO,mmioFOURCC('d','i','v','x'),ICMODE_COMPRESS);
m_CV.lDataRate=120;
m_CV.lFrame=0;
m_CV.lKey=15;
m_CV.lKeyCount=0;
m_CV.lpbiIn=NULL;
m_CV.lpBitsOut=NULL;
m_CV.lpBitsPrev=m_CV.lpState=NULL;
m_CV.lQ=ICQUALITY_DEFAULT;
if (m_CV.hic!=NULL)
{
m_OutFormatSize=ICCompressGetFormatSize(m_CV.hic,&m_InInfo);
m_pOutInfo=(BITMAPINFO *)new BYTE[m_OutFormatSize];
ICCompressGetFormat(m_CV.hic,&m_InInfo,m_pOutInfo);
m_OutBufferSize=ICCompressGetSize(m_CV.hic,&m_InInfo,m_pOutInfo);
ICSeqCompressFrameStart(&m_CV,&m_InInfo);
}
ServerPlus就能正常运行,但是在本机上运行ClientPlus接受时(指定了IP(192.168.0.1),且双方都确认后)就会关掉
ServerPlus,且ClientPlus也没有任何显示。
问题2:如果我不想使用视频捕捉卡,而是指定一个AVI文件(或是其他的视频文件)进行网络压缩实时传输,那我又该怎样
做?
请给出源代码!最好将改后的代码打包发送到goodidea@gnovels.com。
我机子的配置:PIII 750/384M RAM/ATI RADEON + TV WONDER/Win2000 ADV + SP2/Visual C++ 6