- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
■ Flash深入研究之二——编程提取SWF中的声音文件
————————————————以下为程序代码—————————————
unit SWFBlue_u1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, ActnList, StdActns, StdCtrls, Buttons, ShlObj, Zlib;
type
TMain = class(TForm)
b_open: TButton;
Button3: TButton;
Label1: TLabel;
Label2: TLabel;
Label3: TLabel;
OpenDialog1: TOpenDialog;
Label4: TLabel;
e_dir: TEdit;
SpeedButton1: TSpeedButton;
procedure b_openClick(Sender: TObject);
procedure Button3Click(Sender: TObject);
procedure FormShow(Sender: TObject);
procedure SpeedButton1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
FileLength : LongWord; //SWF文件尺寸
FileBuf : Array of Byte; //将SWF文件读入内存存放
end;
var
Main: TMain;
implementation
{$R *.dfm}
procedure TMain.b_openClick(Sender: TObject);
var
f : File;
fws : string[3]; //标示信息
version : Byte; //SWF文件版本号
b,b1,b2 : Byte;
Buf : Array of Byte;
FrameRate : real; //速率
FrameCount : Word; //总帧数
s : string;
TagID : Word; //Tag标示
TagLength : LongWord; //Tag长度
CurrentPos,FileLengthPos,TagPos,tmpPos : Integer;
//CurrentPos记录当前读写位置
//FileLengthPos记录FileLength参数位置
//TagPos记录当前TagID位置
Filename : string; //存放SWF文件名(去掉了路径和扩展名)
l : LongWord;
SoundID : Word; //Event Sounds的Sound ID
SoundInfo : Byte; //Event Sounds的声音信息
SoundSampleCount : LongWord;
StreamHeadb1,StreamHeadb2 : Byte; //Stream Sounds的声音信息
StreamSoundSampleCount : Word;
SoundFile : string; //记录生成的声音文件的扩展名,根据None、ADPCM和mp3不同分为.WAV和.MP3
SoundCount : Word; //Stream Sounds类型的文件计数
fw : File;
Unknow1 : Word;
UnKnow2 : LongWord;
begin
if not OpenDialog1.Execute then exit;
FileMode:=fmOpenRead;
AssignFile(f,OpenDialog1.FileName); Reset(f,1);
SetLength(FileBuf,FileSize(f));
BlockRead(f,FileBuf[0],Filesize(f)); //将文件读入内存
CloseFile(f);
//下面为读取SWF文件的文件头Header部分
CurrentPos:=0;
//读取FWS标示
文档评论(0)