神龙卡流播放问题 (100分)

  • 主题发起人 主题发起人 hhjxzj
  • 开始时间 开始时间
H

hhjxzj

Unregistered / Unconfirmed
GUEST, unregistred user!
我用下面的代码能实现神龙卡文件方式播放,请问各位高手,怎样实现其流方式播放?

head:=Fmpapi.FMPOpen(FMPF_FILE,Dword(Pchar(FileName)));
Fmpapi.FMPPlay(head,FMPF_POS_END,FMPF_POS_CUR);

Email:jnsoft@etang.com

为什么没有人回答我的问题啊???救命啊!!!!
 
FMPOpen(FMPF_FILE,Dword(Pchar(FileName)));
这里用
FMPOpen(FMPF_BUFFERS,Dword(Pchar(FileName)));
不过这样所谓的流播放其实都是由神龙卡来处理流的!你可以仔细分析下神龙卡的开发包。

要真正的流播放的话,你还需要把文件自己用流读好,再转交给神龙卡!不过这样的话很麻烦,容易丢失数据。

 
这种方法我早就实过了,不行,开发包里说的是在FMPF_BUFFERS方式下后面的参数是:FMP_OPEN_STRUCT结构类型,我仔细研究了C的播放方式,为:
FMP_OPEN_STRUCT FMPOpenStruct;
// open selected MPEG stream
memset( &FMPOpenStruct, '/0', sizeof( FMP_OPEN_STRUCT ) );
FMPOpenStruct.lpFileName = gOpenFileName.lpstrFile;
FMPOpenStruct.dwCallBack = (DWORD)FMPCallbackProc;
ghMPEGStream = (BYTE)FMPOpen( FMPF_BUFFERS, (DWORD)&FMPOpenStruct );

但我用delphi写成:
var FMPOpenStruct:TFMP_OPEN_STRUCT;
begin

Fillchar(FMPOpenStruct,sizeof(TFMP_OPEN_STRUCT),0);
FMPOpenStruct.lpFileName:=pchar(FileName);
FMPOpenStruct.dwCallBack:=DWORD(@FMPCallbackproc);
ghMPEGStream:=FMPOpen(FMPF_BUFFERS,Dword(Pchar(FileName)));
end;

却运行不了,只到回调函数建立缓冲后就整个程序都被自动关闭了,请问是怎么回事???
 
够倒霉,硬盘和我作了一上午的对头……

你上面写得应该没错,那么只有一个可能,回调函数有问题!
这里有很多关于写回调函数的,你可以搜索下。
另外主要检测下你的文件路径是否正确,回调函数中的建立缓冲是否正确!

可以用断点来检测,也可以用设置变量来看看,具体是哪个地方程序被自动关闭的
 
TO 5220911:
我查出来了,是回调函数的问题,我用的是aijun写的回调函数,但不行啊,这个回调函数我怎么改都不行啊,而且查出来是在:
if ReadFile(Buf.hFile,Buf.Buffer[Buf.wIndex],MAX_BUF_SIZE,Buf.dwSize,nil) then

// SHOWMESSAGE('READ OK');
// showmessage('pos'+inttostr(Buf.dwSize));
end;

这局时退出了程序,我到底该怎么改啊??

我用的回调函数在:http://www.delphibbs.com/delphibbs/dispq.asp?lid=1092578
 
你的buf怎么定义?
这样写看看:
type
pbuf=^tbuf;
Tbuf=record
hFile:THANDLE ;
dwSize:DWORD ;
wIndex:WORD ;
buffer: array[0..max_buf_number-1]of pbyte
bufferindex:array[0..max_buf_number-1]of dword
end;

这样写的话,可能那个分配缓存的地方也需要适当改下
 
TO 5220911:
我的buf是那么定义的,应该是回调函数的问题,但是就是查不出回调函数哪里出了问题,能不能给我发一个回调函数来啊????先谢谢啦!!!!
 

你的 email是多少?
 
TO 5220911:
小弟先谢谢了!
Email:jnsoft@etang.com
 
已发,注意查收
 
TO 5220911:
100分,不成敬意,非常感谢!!!
 

Similar threads

S
回复
0
查看
3K
SUNSTONE的Delphi笔记
S
S
回复
0
查看
2K
SUNSTONE的Delphi笔记
S
D
回复
0
查看
2K
DelphiTeacher的专栏
D
D
回复
0
查看
1K
DelphiTeacher的专栏
D
后退
顶部