易截截图软件、单文件、免安装、纯绿色、仅160KB

delphi版MP3切割

好久没写BLOG了,送上一份原创的DELPHI版MP3切割,splitMp3为切割函数,支持按时间切割和按大小切割。望大家支持。
参考VC的资料编写的MP3切割DELPHI版单元.
unit UnitMp3DataUtil;
{
MP3 Cut Unit.
@author Jim Wu
2009-08
}
interface
uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls;
type
  Mp3SplitMode = (Mp3SplitByTime, Mp3SplitByDateLength);
  TMp3DataInfo = packed record
    isMp3: Boolean;
    bitrate: Integer;
    sampleRate: Integer;
    isMono: Boolean;
    isVBR: Boolean;
  end;
  function readMp3Head(fileName: string): TMp3DataInfo;
  function splitMp3(mode: Mp3SplitMode; length: Integer; fr: TFileStream; writeFileName: string; var actualLength: Integer; var actualMillisecond: Integer): integer;
const
  mpegBitrateTable: array[1..2,1..3,1..14] of Integer=(
    (
      ( 32, 64, 96,128,160,192,224,256,288,320,352,384,416,448),
      ( 32, 48, 56, 64, 80, 96,112,128,160,192,224,256,320,384),
      ( 32, 40, 48, 56, 64, 80, 96,112,128,160,192,224,256,320)
    ),
    (
      ( 32, 48, 56, 64, 80, 96,112,128,144,160,176,192,224,256),
      (  8, 16, 24, 32, 40, 48, 56, 64, 80, 96,112,128,144,160),
      (  8, 16, 24, 32, 40, 48, 56, 64, 80, 96,112,128,144,160)
    )
  );
  samplingRateTable: array[1..3,0..2] of Integer=(
    (44100,48000,32000),
    (22050,24000,16000),
    (11025,12000,8000)
  );
  frameLengthTable: array[1..2,1..3] of Integer=(
    (48000,144000,144000),
    (24000, 72000, 72000)
  );
  samplesPerFrameTable: array[1..2,1..3] of Integer=(
    ( 384


相关文档:

delphi 编写的com 对象 用php调用的实例

delphi 编写的com 对象 用php调用

实例
delphi:
function Tmyxml.Get_xml: WideString;
begin
      Get_xml:='wo shi a lei!';
end;
function Tmyxml.Get_xmldata: WideString;
var
xmlStr:string;
begin
  xmlStr := '<?xml   version="1.0" & ......

括号匹配(delphi)-转

type
TCharStack = class(TStack)
private
function GetTop: Char;
public
function Pop: Char;
function Push(Item: Char): Char;
property Top: Char read GetTop;
end;
const
FindSet = ['(',')'];

implementation
{$R *.dfm}
{ TCharStack }
......

Delphi 关键字详解

Delphi 关键字详解---absolute//它使得你能够创建一个新变量, 并且该变量的起始地址与另一个变量相同.
var
Str: string[32];
StrLen: Byte absolute Str;
//这个声明指定了变量StrLen起始地址与Str相同.
//由于字符串的第0个位置保存了字符串的长度, 所以StrLen的值即字符串长度.
begin
Str := 'abc';
Edit ......

改写了一个常用的DELPHI的加解密函数

DELPHI
//////////////////////////////////
Function   EncrypKey   (Src:String;   Key:String):string;
  var  
  idx   :integer;  
  KeyLen   :Integer;  
  KeyPos   :Integer; &nbs ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号