windows media Encoder 的转换问题(100分)

  • 主题发起人 主题发起人 bushi
  • 开始时间 开始时间
B

bushi

Unregistered / Unconfirmed
GUEST, unregistred user!
我要在DELPHI中做一个视频压缩和广播的东西,下载了 media encoder9 SDK,
在VB、VC中调用接口是可以的,转化在DELPHI中就编不过去了。(在DELPHI的 TYPE
LIBARARY中直接导入了WINDOWS MEDIA ENCODER)答题有分,
无聊者就不要说了(譬如什么关注之类的人,老子恨不得把这样的人捏死,
自己老老实实的就可以了,不知道到这里关注个屁)
 
请大家不要回答这个问题,估计答错了也会被捏死:)
 
没有你说的那么严重,我只是希望大家切入正题,不要把网站搞臭了!
下面是我写的转换代码,望高手指点迷津。
procedure TForm1.Button1Click(Sender: TObject);
var
Encoder:IWMEncoder;
SrcGrpColl:IWMEncSourceGroupCollection;
SrcGrp:IWMEncSourceGroup;
SrcVid:IWMEncSource;
SrcAud:IWMEncSource;
ProColl:IWMEncProfileCollection;
Pro :IWMEncProfile;
i,Llength:integer;
Descr:IWMEncDisplayInfo;
Attr:IWMEncAttributes;
File1:IWMEncFile;
FileName:widestring;
begin

Encoder:=CoWMEncoder.Create;
SrcGrpColl:=Encoder.SourceGroupCollection
SrcGrp:=SrcGrpColl.add('LgggG_1');
SrcVid := SrcGrp.AddSource(WMENC_VIDEO);
SrcAud := SrcGrp.AddSource(WMENC_AUDIO);

SrcVid.SetInput('file://c:/lake.mpg',' ',' ');
SrcAud.SetInput ('file://c:/lake.mpg',' ',' ');

ProColl:=Encoder.ProfileCollection
SrcGrp.Set_Profile(ProColl.item(2));
{Llength:=ProColl.Count
for i:=0 to Llength-1do

begin

pro:=ProColl.Item(i);
If Pro.Name = 'Windows Media Video 8 for Local Area Network (384 Kbps)' then

SrcGrp.Set_Profile(Pro);
end;

}

Descr := Encoder.DisplayInfo;
Descr.Author := 'Author name';
Descr.Copyright := 'Copyright information';
Descr.Description := 'Text description of encoded content'
Descr.Rating := 'ating information'
Descr.Title := 'Title of encoded content';

Attr := Encoder.Attributes;
Attr.Add('URL', 'IP address');

File1 := Encoder.Get_File_
File1.LocalFileName := 'C:/myOutputFile.wmv';

//SrcGrp.PrepareToEncode(true);
Encoder.PrepareToEncode(true);
Encoder.Start
showmessage('encode complete!');
Encoder.Stop;
end;
 
怎么没有人回答啊,被GOODFOX2002气死了![:D]
 
Encoder:= WMEncoder.Create;
改为:
Encoder:=TWMEncoder.Create(nil);

File1 := Encoder.Get_File_
改为:
File1 := Encoder.File_;
试一下,并且
Encoder.PrepareToEncode(true);
去掉试一下.
 
不行的,不知道为什么,我也搞了很久了,但就是不行,在里面使用 realplayer 的控件是可以用的,但如果使用 windows media encoder 的控件就总是解决不了问题,不知道 windows media encoder 或 delphi 本身有没有问题,我想做一个转换 mpg 到 asf 格式的工具,但一直做不成,不知道有没有高手了,
关于上面 我楼上 yingwei 同志提出的问题中,第一条,是不能加 nil 参数的,因为CoWMEncoder.create 是不带参数的,
如果有解决的方法,别忘了一起交流,
我的 QQ :39807324 加入时,请回答 “流媒体编程交流”
我的 email :lynch@sohu.com llflynch@163.net
 
Encoder:IWMEncoder;
TWMEncoder.Create是带参数的,我也完成该功能的实现。
 
我在编译成 .exe 程序时都没有出现错误,但在按下 button1 的时候就
出现 CPU 错误
77FA144C ret
ntdll.DbgUserBreakPoint;
.
.
.
我不知道你的系统环境是怎么样的,或者你用的是delphi版本是多少,
能不能交流一下,如果有可能,我不知道,愿不愿意把你的源代码发上来
供大家借鉴和学习?
 
后退
顶部