Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Media";
Текущий архив: 2006.03.12;
Скачать: [xml.tar.bz2];

Вниз

Где компонент TMediaPlayer хранит данные?   Найти похожие ветки 

 
NikNet ©   (2005-10-07 18:33) [0]

Которые он воспройзводит? Хочу  сделать FFT?


 
vrem   (2005-10-07 18:36) [1]

ах FFT, автор попробуй ещё раз вопрос задать :)


 
Дмитрий Белькевич   (2005-10-08 04:55) [2]

Афтар выпей йаду ;)


 
PAVIA ©   (2005-10-08 19:57) [3]

Данные он хранит в памяти. А если по существу используй
vfw(vide for windows)

Тут небольшая загатовка.
unit Unit1;

interface

uses
 vfw....;

type
 TForm1 = class(TForm)
   Panel1: TPanel;
   Button1: TButton;
   OpenDialog1: TOpenDialog;
   Timer1: TTimer;
   procedure load1Click(Sender: TObject);
   procedure FormCreate(Sender: TObject);
   procedure FormDestroy(Sender: TObject);
   procedure Timer1Timer(Sender: TObject);
   procedure Button1Click(Sender: TObject);
 private
   { Private declarations }
 public
   { Public declarations }
 end;

 procedure Scan(dsfmt:PBITMAPINFOHEADER;dsdata:pointer);

var
 Form1: TForm1;
avistream:Pavistream;
fmtlen:integer;
HICV:hic;
srcfmt,dstfmt:PBITMAPINFOHEADER;
streaminfo:Tavistreaminfo;
dstdata,srcdata:pointer;
Frame:integer;

l1,l2:integer;

paus:boolean;

a:array of single;
implementation

{$R *.DFM}

procedure TForm1.load1Click(Sender: TObject);
begin
if OpenDialog1.Execute then
begin
if avistream<>nil then
begin
AVIStreamRelease(avistream);
avistream:=nil;
end;
AVIStreamOpenFromFile( avistream,Pchar(OpenDialog1.Filename),
 streamtypeVIDEO, 0, OF_READ or OF_SHARE_EXCLUSIVE, 0 );

AVIStreamInfo( avistream, streaminfo, sizeof(streaminfo) );

AVIStreamFormatSize(avistream, 1, @fmtlen);
getmem(srcfmt,fmtlen);
AVIStreamReadFormat( avistream, 1, srcfmt, @fmtlen );
if HICV<>0 then
begin
ICDecompressEnd(HICV);
ICclose(HICV);Hicv:=0;
end;
HICV:=ICDecompressOpen( ICTYPE_VIDEO, streaminfo.fccHandler,srcfmt,nil );
fmtlen:=ICDecompressGetFormatSize(HICV, srcfmt);
getmem(dstfmt,fmtlen);
ICDecompressGetFormat(HICV, srcfmt, dstfmt);

getmem(dstdata,dstfmt.biSizeImage);
ICDecompressBegin(HICV, srcfmt, dstfmt);
Frame:=streaminfo.dwStart;
paus:=false;
end;
end;

procedure TForm1.FormCreate(Sender: TObject);
begin
AVIFileInit();
end;

procedure TForm1.FormDestroy(Sender: TObject);
begin
if HICV<>0 then
begin
ICclose(HICV);Hicv:=0;
end;
if avistream<>nil then
begin
AVIStreamRelease( avistream ); avistream:=nil;
end;
AVIFileExit();
end;

procedure Scan(dsfmt:PBITMAPINFOHEADER;dsdata:pointer);
var
i,j:integer;
yarkost:single;
R,G,B:byte;
begin
i:=0;
while i<(dsfmt.biWidth*dsfmt.biHeight)*3 do
begin

// Byte(PChar(dsdata)[i+0]):=0;
Byte(PChar(dsdata)[i+1]):=0;
Byte(PChar(dsdata)[i+2]):=0;
// yarkost:=0.63*R+0.4*G+0.3*B;

 inc(i,3);
end;
end;

procedure TForm1.Timer1Timer(Sender: TObject);
var
dc:Hdc;
prect:TRect;
DDib:HDRAWDIB;
begin
if (hicv<>0) then
       begin
       if srcdata<>nil then begin FreeMem(srcdata);
       srcdata:=nil; end;
       avistreamread(avistream,Frame,1,nil,0,@l1,@l2);
       getmem(srcdata,streaminfo.dwSuggestedBufferSize);
       avistreamread(avistream,Frame,1,srcdata,streaminfo.dwSuggestedBufferSize,@l1,@l2);
       ICDecompress( HICV, 0, srcfmt, srcdata, dstfmt, dstdata);

       Scan(dstfmt,dstdata);

       dc:=getdc(Panel1.Handle);
       prect:=Panel1.ClientRect;
       DDib:=DrawDibOpen;
       DrawDibDraw(DDib,dc,pRect.left,pRect.top,pRect.right,pRect.bottom,dstfmt,dstdata,0,0,-1,-1,0);
       DrawDibClose(DDib);
       ReleaseDC(Panel1.Handle,dc);

       if (not paus) then inc(Frame);
       if  Frame=streaminfo.dwStart+streaminfo.dwLength then
       begin Frame:=streaminfo.dwStart;
       paus:=true;
       end;
       end;
end;

procedure TForm1.Button1Click(Sender: TObject);
begin
load1Click(Self);
end;

end.



Страницы: 1 вся ветка

Форум: "Media";
Текущий архив: 2006.03.12;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.47 MB
Время: 0.014 c
3-1134036658
Stealth
2005-12-08 13:10
2006.03.12
MySQL и Multiple-step operation generated errors


15-1140295546
Volf_555
2006-02-18 23:45
2006.03.12
Где m-agent хранит историю сообщений и настройки?


15-1140045550
Диззайнер
2006-02-16 02:19
2006.03.12
Как можно подключить к компу ломпочки и управлять ими?


3-1137177241
serg6548
2006-01-13 21:34
2006.03.12
подключиться к серверу не локально


2-1140507460
Piero
2006-02-21 10:37
2006.03.12
Разложить byte на биты





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский