(Unit zur dynamischen Einbindung der bbMPEG.Dll v1.0.0.2)
Vor der Benutzung muss die Unit bbMPEG eingebunden, die Variablen deklariert und die Class erstellt werden. Am Ende wird die Class wieder freigegeben.
unit unit1;
uses
... bbMPEG, ...;
type
TForm1 = class(TForm)
...
private
{ Private-Deklarationen }
bbMPEG : TbbMPEG;
bbMPEGSettings : TbbMPEGSettings;
...
end;
...
procedure TForm1.FormCreate(Sender: TObject);
begin
...
{
* Die Class bbMPEG erstellen.
}
bbMPEG := TbbMPEG.Create;
bbMPEG.libPath := ExtractFilePath(Application.ExeName);
bbMPEGSettings := bbMPEG.Settings;
...
end;
procedure TForm1.FormDestroy(Sender: TObject);
begin
...
{
* Die Class bbMPEG freigeben.
}
FreeAndNil(bbMPEG);
...
end;
Folgende Eigenschaften der Class sollten gesetzt werden:
libPath : String;
Pfad zur bbMPEG.DLL
inputVideo : String;
Name der elementaren Videodatei einschließlich des Pfades.
inputAudio : String;
Name der elementaren Audiodatei einschließlich des Pfades.
outputFile : String;
Name der gemuxten Videodatei einschließlich des Pfades.
Darüber hinaus gibt es noch die Eigenschaft Settings, welche einen Teil der möglichen Einstellungen enthält. Die im Programm änderbaren sind in der Procedure SetDefault voreingestellt.
procedure TbbMPEG.SetDefault;
{******************************************************************************}
{** Standardwerte einstellen
}
begin
{
* Alle Einstellungen zurücksetzen
}
FillChar(fbbMPEGSettings, SizeOf(fbbMPEGSettings), 0);
{
* Werte voreinstellen
}
with fbbMPEGSettings.bbProgram
do begin
programStreamType := 2;
vbrMultiplex := True;
frameTimestamps := 1;
videoDelay := 180;
audioDelay := 180;
audio1Delay := 180;
end;
end;
Weitere Einstellungen, welche mittels der Function WriteIni in der default.ini gespeichert werden, sind vorgegeben. Bei der Einbindung der Unit können diese Voreinstellungen selbstverständlich angepasst werden.
procedure TbbMPEG.WriteIni: boolean;
{******************************************************************************}
{** Die INI-Datei erstellen.
}
var
bbINI : TIniFile;
bbINIFile : String;
begin
bbINIFile := fbbMPEGLibPath + 'default.ini';
bbINI := TIniFile.Create(bbINIFile);
try
...
finally
bbIni.Free;
end;
end;
Ausgeführt wird der Muxvorgang durch die function Execute, welche einen Fehlercode zurückgibt.
Fr_An - Letzte Änderung: 27. Oktober 2009
seit 28. Juli 2010