⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 unit1.~pas

📁 文件分割。标准API.文件分割。标准API.
💻 ~PAS
字号:
unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls;


const
  MAX_FRAME_LENGTH = 50000;
type
  TForm1 = class(TForm)
    Button1: TButton;
    Memo1: TMemo;
    Button2: TButton;
    procedure Button1Click(Sender: TObject);
  private
    { Private declarations }
    procedure SeparateH264Data(AFile : string);
  public
    { Public declarations }
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.SeparateH264Data(AFile : string);
var
  mFile,oFile : Integer;
  ByteCount : Integer;
  FMediaBuf : array[0..MAX_FRAME_LENGTH-1]of char;   // 100 K
  OFilestr : string;
begin


  OFilestr := AFile +'.264';
  FileClose( FileCreate(OFilestr));

  oFile := FileOpen(OFilestr, fmOpenReadWrite);
 	mFile := FileOpen(AFile, fmOpenRead or fmShareDenyNone);
  while (FileRead(mFile,ByteCount,4) = 4 ) do
  begin

    if ByteCount > MAX_FRAME_LENGTH   then exit;

    if (FileRead(mFile,FMediaBuf[0], ByteCount ) = ByteCount ) then
    begin
      FileWrite(oFile,FMediaBuf[8],ByteCount-8);
    end;

  end;

  Fileclose(mFile);
  Fileclose(oFile);
end;



procedure TForm1.Button1Click(Sender: TObject);
var
  K   : Integer;
  Str : string;
  Slist : TStringList;
begin

  Slist := TStringList.Create;
  Slist.AddStrings(memo1.Lines);
  for  K :=0 to Slist.Count -1 do
  begin
    Str := SList.Strings[k];
    SeparateH264Data(str);

  end;

end;

end.

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -