Hazır program vardır da bu işi biz kendimiz yapmak istersek nasıl yaparız?
GIF animasyon yap, herkes izlesin.
http://francois-piette.blogspot.com.tr/2013/07/creating-avi-file-from-bitmaps-using.html (http://francois-piette.blogspot.com.tr/2013/07/creating-avi-file-from-bitmaps-using.html) gibi bir örnek buldum.
Bmp piksellerindeki degeri ses olarak versek.
Sağolun.
Bu kadar basitmiymiş.
procedure TCAviFileForm.GenerateAvi
var
I : Integer;
Y : Integer;
H : Integer;
BackBitmap : Graphics.TBitMap;
Avi : TAviFromBitmaps;
begin
BackBitmap := Graphics.TBitMap.Create;
BackBitmap.Width := 320;
BackBitmap.Height := 240;
BackBitmap.PixelFormat := TPixelFormat.pf32bit;
Avi := TAviFromBitmaps.CreateAviFile(
nil, 'output.avi',
//MKFOURCC('x', 'v', 'i', 'd'),// XVID (MPEG-4) compression
MKFOURCC('D', 'I', 'B', ' '), // No compression
2, 1); // 2 frames per second
// First, add a blank frame
Avi.AppendNewFrame(BackBitmap.Handle);
// Then add frames with text
BackBitmap.Canvas.Font.Size := 20;
H := (BackBitmap.Canvas.TextHeight('I') * 15) div 10;
Y := (BackBitmap.Height div 2) - H;
BackBitmap.Canvas.TextOut(10, Y, 'Delphi rocks!');
Y := (BackBitmap.Height div 2);
for I := 1 to 25 do begin
BackBitmap.Canvas.TextOut(10, Y, IntToStr(I));
Avi.AppendNewFrame(BackBitmap.Handle);
end;
// Finally, add two blank frame
// (MediaPlayer doesn't show the last two frames)
BackBitmap.Canvas.FillRect(Rect(0, 0,
BackBitmap.Width, BackBitmap.Height));
Avi.AppendNewFrame(BackBitmap.Handle);
Avi.AppendNewFrame(BackBitmap.Handle);
FreeAndNil(Avi);
FreeAndNil(BackBitmap);
end;
Eskiden daha çokdu böyle örnekler :) Avi, Wave dosya örnekleri geziniyordu ortada. Delphi'nin popülerliği gidince biraz zar zor bulunuyor. Bildiğim kadarıylada sıralı bmp formatına ses ekleniyor diye hatırlıyorum :)