Q&A

  • 버퍼를 뿌려주는 방법좀 부탁드립니다.
안녕하세요

저는 요번에 인터넷방송방법을 공부하려고 하는데요

현재 dsshow로 그래픽을 이미지와음성을 한번에 날릴수 있는것을 만들고

하는것까지 됐는데요 이것을 뿌려줘야 하고 클라이 언트에서 받아야 하는데요

어떻게 해야 할지 아직 생각이 안나서요

일단 서버에서 이미지와 음성을 뿌려주기만 하면 클라이언트에서는

언제든지 와서 접속만 되면 받아서 플레이시킬수 있는거죠

근데 문제는 컴퓨터와 컴퓨터사이에 보내고 받고하는 소켓을

약간은 알겠는데 아직 초보단계라 쉽지가 않내요

소스나 강좌있으심 부탁드립니다. 아래 소스의 소스는

dsshow에서 데모로 나왔던것을 제가 다시 resourcing 한겁니다.unit main;



interface



uses

Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,

ExtCtrls, OleServer, dspack, DSFilters, TFlatPanelUnit, StdCtrls,ComCtrls;



type

TForm1 = class(TForm)

FlatPanel1: TFlatPanel;

DSVideoWindow1: TDSVideoWindow;

FilterSampleGrabber: TFilterSampleGrabber;

FilterGraph: TDSFilterGraph2;

Image1: TImage;

FlatPanel2: TFlatPanel;

FlatPanel3: TFlatPanel;

OpenDialog1: TOpenDialog;

Button1: TButton;

Panel1: TPanel;

procedure FormCloseQuery(Sender: TObject; var CanClose: Boolean);

procedure Button1Click(Sender: TObject);

procedure FilterSampleGrabberBuffer(sender: TComponent;

Buffer: TBufferCB);

private

{ Private declarations }

public

{ Public declarations }

end;



var

Form1: TForm1;



implementation



{$R *.DFM}



procedure TForm1.FormCloseQuery(Sender: TObject; var CanClose: Boolean);

begin

FilterGraph.Disconnect;

end;



procedure TForm1.Button1Click(Sender: TObject);

begin

if OpenDialog1.Execute then

begin

FilterGraph.ClearGraph;

FilterGraph.FilterGraph2.AddFilter(FilterSampleGrabber.BaseFilter,'Grabber');

FilterSampleGrabber.SetBMPCompatible(nil,24);

FilterGraph.FilterGraph2.RenderFile(StringToOleStr(OpenDialog1.FileName),nil);

FilterGraph.QueryInterfaces;

FilterGraph.MediaControl.Run;

end;

end;



procedure TForm1.FilterSampleGrabberBuffer(sender: TComponent;

Buffer: TBufferCB);

begin

FilterSampleGrabber.GetBitmap(image1.Picture.Bitmap,Buffer); //그림을 캡쳐하여 버퍼에 집어넣는다 이걸 보내야 합니다. 클라이언트로요

panel1.Caption := FloattoStr(buffer.SampleTime); //버퍼타임

end;



end.



0  COMMENTS