用神龙DVD卡播放VCD格式的视频文件,如果控制左、右声道?(100分)

  • 主题发起人 主题发起人 silicon
  • 开始时间 开始时间
S

silicon

Unregistered / Unconfirmed
GUEST, unregistred user!
我做出来的左声道只能在一边喇叭唱,右声道只能在另一边喇叭唱,我想要左声道也要
两边唱,右声道也要两边都唱!
 
怎么只看不回答呢?急死人了!
 
我用过,好象是没有直接的办法。
我当时的做法是条件某个声道的音量到0,一样的效果,呵呵.....
 
我找到解决问题的根本方法了。找到后才觉得简单。有需要的朋友和我联系吧!不在这里
公布了。
 
告诉我吧,另外你是使用什么方式播放的
 
DVD我用缓冲区模式播放的。VCD我用基本模式播放的。
function TFMPVideo.Play(FileName: string): Boolean;
var
FMPOpenStruct : TFMP_OPEN_STRUCT;
begin

FFileName:= FileName;
if FileExists(FFileName) then
// 如果文件存在
begin

if not Active then
SetActive(True);
// 如果没有激活设备则激活它!
if DriverHandle <> 0 then
begin
// 设备打开
Stop;
// 关闭已打开的媒体流
if FBufMode then
// 如果是缓冲区模式
begin

FillChar(FMPOpenStruct, SizeOf(TFMP_OPEN_STRUCT), 0);
FMPOpenStruct.lpFileName:= PChar(FileName);
FMPOpenStruct.dwCallBack:= DWORD(@CallBackProc);
FMPEGStream:= FMPOpen(FMPF_BUFFERS, DWord(@FMPOpenStruct));
end
else
begin

FMPOpenStruct.dwCallBack:= 0;
FMPEGStream:= FMPOpen(FMPF_FILE , DWord(PChar(FileName)));
end;

end;

end;

Result:= FMPEGStream <> 0;
if Result then
// 打开播放流
begin

FSize:= FMPGet(FMPEGStream, FMPI_STM_FILESIZE);
FMPSet (FMPEGStream, FMPI_VID_KEY_MODE, FMPF_KEY_VGA);// set video keying mode
FMPSet (FMPEGStream, FMPI_VID_KEY_COL, 0);
// set video keying color
FMPPlay(FMPEGStream, FMPF_POS_END or FMPF_END_STOP, 0);
FMPSet (FMPEGStream, FMPI_VID_SATURATION, FContrast);
FMPSet (FMPEGStream, FMPI_VID_CONTRAST, FBrightness);
FMPSet (FMPEGStream, FMPI_VID_BRIGHTNESS, FSaturation);
if isZeroVolume then

FMPSet (FMPEGStream, FMPI_AUD_VOLUME, 0)
else

FMPSet (FMPEGStream, FMPI_AUD_VOLUME, FRightVolume shl 16 + FLeftVolume);
FisPause:= False;
end;

end;

 
(@CallBackProc 是怎么定义的呀,我就在这出错,呵呵
 
function FMPCallbackProc(bMsg: Byte;
hMPEGStream: Byte;
dwValue: DWORD): WORD stdcall;
....
begin

Result:= 0;
try
Buf:= Pointer(FMPGet(hMPEGStream, FMPI_STM_USER));
case bMsg of
FMPM_BUF_CREATE: Result:= CreateBuf;
FMPM_BUF_CLOSE : CloseBuf;
FMPM_BUF_SEEK : SetFilePointer(Buf.hFile, dwValue, nil, FILE_begin
);
FMPM_BUF_POS : PosBuf;
FMPM_BUF_EMPTY : BufEmpty;
FMPM_ERROR : ProcessError;
end;

except
end;

end;

 
T:jacky1936
我问问题怎么变成我回答问题了,要想交个朋友或者想我更详细地说说,你还是开个贴子吧!
 
呵呵,好久不见,怎么最近搞DVD了?
 
To:Chenlili
今天下半年我一直都在做DVD呀!我好象和你聊过这件吧!
 
这分就这样发了。
 

Similar threads

S
回复
0
查看
3K
SUNSTONE的Delphi笔记
S
S
回复
0
查看
2K
SUNSTONE的Delphi笔记
S
I
回复
0
查看
601
import
I
后退
顶部