求类似QQ视频聊天的代码、资料!
最好能在D7中用!

解决方案 »

  1.   

    呵呵
    又有人要
    ***********
    我这有类似QQ视频聊天的代码、资料!
    但是 视频功能可能没有
    如果你要
    请留个 Email
      

  2.   

    http://www.babamamawo.com/vss/mv/mvchat_page/index6.html
      

  3.   

    p_af_AvSenderProj1.ocx 接口: property VideoIP: WideString dispid 18;//视频IP     property AudioDrvIndex: Integer dispid //19;音频IP     property AudioFrameRate: Integer dispid 21;//音频采样速率默认为3     property AudioIP: WideString dispid 22;//音频IP     property AudioPort: Integer dispid 23;//音频端口     property VideoDrv: WideString dispid 24;视频设备,默认为第一个视频设备     property VideoMode: Integer dispid 25;//采样大小     property VideoRate: Integer dispid 26;//码率     property VideoFrameRate: Integer dispid 27;//采样频率     property VideoPort: Integer dispid 28; //视频端口     property MaxKeyFrameInterval: Integer dispid 29;//关键帧最大间隔     function ConnectDrv: WordBool; dispid 20; //初始化视频采集设备     property VideoConnected: WordBool readonly dispid 33; //设备已连接否     property HasVideoDrv: WordBool readonly dispid 34;//是否有至少一个视频设备     procedure DlgVideoSource; dispid 35;//显示视频设备对话框     function OpenVideo: WordBool; dispid 36;//开始发送视频     procedure CloseVideo; dispid 37;//关闭视频发送     function OpenAudio: WordBool; dispid 38;//开始发送音频     procedure CloseAudio; dispid 39;//关闭音频发送     procedure InitParams; dispid 30;//初始化参数,每次更改参数,必须调用该方法     property MenuVisible: WordBool dispid 31;//是否显示右键菜单     property HasAudioDrv: WordBool readonly dispid 32;//是否有至少一个录音设备   示例A(以delphi为例):视频采集压缩及发送 procedure TForm1.Button1Click(Sender: TObject); begin if af_AvSender1.HasVideoDrv then  //是否有视频   begin     af_AvSender1.ConnectDrv;   //连接视频源     af_AvSender1.VideoIP := '127.0.0.1';  //视频数据将发送到该IP     af_AvSender1.VideoPort := 8001;       //视频数据将发送到该端口     af_AvSender1.VideoMode := 0; //采样大小:(vm160 = 0, vm176, vm320, vm352, vm640);     af_AvSender1.VideoRate := 1; //码率(影响视频质量的关键参数) //可选:1表示128K/秒(vr64, vr128, vr192, vr256, vr384, vr512, vr768, vr1024);     af_AvSender1.VideoFrameRate := 5;  //帧速:5表示每秒钟5帧     af_AvSender1.MaxKeyFrameInterval := 10; //关键帧最大间隔 :每10帧至少有一个关键帧  如果网络带宽大,但易丢包的话建议将此值设小。注意:如果关键帧丢失图像将停顿直到下一个关键帧到来   end;     af_AvSender1.AudioDrvIndex := 0;  //录音设备序号,0为第一个录音设备   af_AvSender1.AudioFrameRate := 3; //默认   af_AvSender1.AudioIP := '127.0.0.1'; //音频数据将发送到该IP   af_AvSender1.AudioPort := 8000;  //音频数据将发送到该端口     af_AvSender1.InitParams;      //初始化输入的参数,每次更改参数都需调用该方法       af_AvSender1.OpenVideo;   //开始发送视频    af_AvSender1.OpenAudio;  //开始发送音频 end;   示例B(以delphi为例):显示右键菜单    af_AvSender1.MenuVisible:=true;   示例C(以delphi为例):显示视频格式设置对话框   af_AvSender1.DlgVideoSource; 
     
    2、p_AF_AvReceiveProj1.ocx  接口:    property UserID: Integer dispid 18;  //标识     property LocalAudioPort: Integer dispid 19;//本地音频端口     property LocalVideoPort: Integer dispid 20;//本地视频端口     property AudioProviderIP: WideString dispid 21;//音频提供者IP     property VideoProviderIP: WideString dispid 22;//视频提供者IP     property AudioProviderPort: Integer dispid 23;//音频提供都端口     property VideoProviderPort: Integer dispid 24; //视频提供都端口       function StartReceiveVideo: WordBool; dispid 25;//开始接收视频     procedure StopReceiveVideo; dispid 26;//停止接收视频     function StartReceiveAudio: WordBool; dispid 27;//开始接收音频     procedure StopReceiveAudio; dispid 28;//停止接收音频       property CountReceiveBits: Integer readonly dispid 29;//共接收bit    property ParentWidth: Integer dispid 30;  //窗口宽度     property CountReceiveFrames: Integer readonly dispid 31;//共接收了多少帧     property RecFileName: WideString dispid 32; //指定录象文件名称     procedure InitReceive; dispid 33;     //初始化接收参数      procedure StartRec; dispid 35;//开始录像     procedure StopRec; dispid 36;//停止录象     procedure PauseRec; dispid 37;//暂停录象     procedure ResumRec; dispid 38;//继续录象    示例A(delphi):接收一路视频及音频,并录象至’c:\t1.rec’文件中   with AF_AVReceive1 do   begin     UserID := 1;     LocalAudioPort := 8000;     LocalVideoPort := 8001;       AudioProviderIP := '127.0.0.1';     AudioProviderPort := 8000;       VideoProviderIP := '127.0.0.1';     VideoProviderPort := 8001;       RecFileName := 'c:\t1.rec';     ParentWidth := AF_AVReceive1.Width;       InitReceive;       StartReceiveVideo;     StartReceiveAudio;     StartRec;   end;   
     
    3、p_AF_PlayRecProj1.ocx 接口:    procedure Play(const ARecFileName: WideString); dispid 18;//播放录象文件     procedure Stop; dispid 19;//停止     procedure Pause; dispid 20;//暂停     procedure Resume; dispid 21;//继续     procedure SaveToDibFile(const ADibFileName: WideString); dispid 22;//抓取当前画面并存为DIB位图     procedure Init; dispid 23; //初始化    procedure RegFileType(const FExt: WideString; const fKey: WideString; const fDesc: WideString;const fPrg: WideString); dispid 24; //注册文件类型   示例A(以delphi为例):播放一个录象文件   AF_PlayRec1.Init;  //不要在OnCreate中执行Init,建议第一次play前执行   AF_PlayRec1.Play('c:\t1.rec');
     
      

  4.   

    to zglwxb(放狗咬人地):
       邮箱:[email protected]
      

  5.   

    for D7的控件:(MvChat)http://www.babamamawo.com/vss/component/1.2.rar=====================================================
    图象声音与通讯相分离,允许用户更灵活的控制细节 优化了图象的显示方式,图像声音质量更好,超过QQ提供一个高效率的UDP通讯控件集成的消息发送、文件传输功能,并可自由扩展更易实现p2p纯VCL构件易于使用PS:这个控件我没用过,你试试
      

  6.   

    to jackie168(花好月圓) ,那个UDP控件能不能穿NAT?我现在不太信有能穿任何NAT的UDP控件或源码发布在网上。
      

  7.   

    to  24782882(luo)邮件已经发出
    请查收