神龙DVD解压卡控件(200分)

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

smallfox

Unregistered / Unconfirmed
GUEST, unregistred user!
[:(]谁有神龙DVD解压卡控制的控件,十万火急!
 
有个叫做evod的兄弟不是说卖,你找他好了
呵呵,帮他做广告,我也有回扣,:)
 
我有啊,直接做成控件了与我联系 kenysm@21cn.com
 
楼上的能发给我学学吗?lu@3gs.net
 
用不着找,,下面是一个SDK单元直接调用就可以了,
有时间还可以自己封装一下,不就行了组件了吗?unit Fmpdefs;

interface
Uses Windows, mmsystem;
{*******************************************************************************
*
* COPYRIGHT : (c) 1995-1996 Sigma Designs, Inc. All rights reserved.
*
* FILENAME : FMPDefs.h
*
* DESCRIPTION : This header file contains FMP specific definitions.
*
* PLATFORM : Windows
*
* PROGRAMMER : houling 先凌科技
*
* COMMENTS : NONE
*
* NOTES : NONE
*
* CHANGES :
* 08/10/95 - Created.
* (ECY)
*
*******************************************************************************}

{ Translated from Fmpdefs.h by houling }

const
//*******************************************************************************
// FMP Commands
//*******************************************************************************/
FMP_OPEN = $01;
FMP_CLOSE = $02;
FMP_PLAY = $03;
FMP_PAUSE = $04;
FMP_STOP = $05;
FMP_SEEK = $06;
FMP_STEP = $07;
FMP_GROUP = $08;
FMP_SET = $09;
FMP_GET = $0A;
FMP_CALLBACK = $0B;
FMP_SIGNAL = $0C;
FMP_UNLOAD = $0D;
FMP_INIT = $0E;
FMP_CAPTURE = $0F;
FMP_UPDATE = $10;
FMP_FREEZE = $12;


//*******************************************************************************
// FMP Errors
//*******************************************************************************/
FMPE_DOS = $0100;
FMPE_INVALID_FLAGS = $0200;
FMPE_HANDLE = $0300;
FMPE_NOT_IMPLEMENT = $0400;
FMPE_INVALID_CMD = $0500;
FMPE_OUT_OF_MEM = $0600;
FMPE_INDEX = $0700;
FMPE_TYPE = $0800;
FMPE_WRITE = $0900;
FMPE_TOO_MANY = $0A00;
FMPE_ITEM_INDEX = $0B00;
FMPE_ITEM_HANDLE = $0C00;
FMPE_ERROR = $0D00;
FMPE_STREAM_DATA = $0E00;
FMPE_NOT_CDXA_DRV = $0F00;
FMPE_HARDWARE = $1000;
FMPE_NA = $1100;
FMPE_VALUE = $1200;
FMPE_TIME_FMT = $1300;
FMPE_NOT_READY = $1400;
FMPE_POS = $1500;
FMPE_REFUSE = $1600;
FMPE_INVALID_INDEX = $1700;

//*******************************************************************************
// FMP Messages
//*******************************************************************************/
FMPM_BUF_POS = $01;
FMPM_BUF_EMPTY = $02;
FMPM_BUF_SEEK = $03;
FMPM_BUF_CREATE = $04;
FMPM_BUF_CLOSE = $05;
FMPM_BUF_TOTALSIZE = $06;
FMPM_COMPLETED = $07;
FMPM_CANCELED = $08;
FMPM_ERROR = $09;
FMPM_MEM_ALLOC = $0A;
FMPM_MEM_FREE = $0B;
FMPM_SIGNAL = $0C;
FMPM_FIFO_START = $0D;
FMPM_FIFO_LOW = $0E;
FMPM_FIFO_HIGH = $0F;
FMPM_FIFO_DROP = $10;
FMPM_PUSH_READ = $11;
FMPM_PUSH_SEEK = $12;
FMPM_PUSH_INIT = $13;
FMPM_PUSH_CLOSE = $14;

//*******************************************************************************
// FMP Flags
//*******************************************************************************/
FMPF_BUF_LOW = $00000000;
FMPF_BUF_EMS = $00010000;
FMPF_BUF_XMS = $00020000;

FMPF_PASCAL = $1000;
FMPF_C = $2000;

FMPF_TEST = $8000;

FMPF_INSERT = $0001;
FMPF_REMOVE = $0002;
FMPF_GET = $0003;
FMPF_SELECT = $0004;
FMPF_UNSELECT = $0005;
FMPF_HANDLE = $0000;
FMPF_INDEX = $0020;

FMPF_FILE = $0001;
FMPF_BUFFERS = $0002;
FMPF_GROUP = $0003;
FMPF_BROADCAST = $0004;
FMPF_DVD = $0005;
FMPF_EXTEND = $0010;
FMPF_NOACCESS = $0100;

FMPF_UNKNOWN = $0000;
FMPF_AUDIO = $0001;
FMPF_VIDEO = $0002;

FMPF_POS_START = $0100;
FMPF_POS_SET = $0200;
FMPF_POS_END = $0300;
FMPF_POS_CUR = $0400;

FMPF_DONT_UPDATE = $1000;
FMPF_UPDATE_ALL = $2000;

FMPF_SIG_AT = $0001;
FMPF_SIG_EVERY = $0002;
FMPF_SIG_REMOVE = $0003;
FMPF_SIG_REMOVE_AT = $0004;
FMPF_SIG_REMOVE_ALL = $0005;

FMPE_HRD = $2000;
FMPE_HRD_NO_DMA = $2100;
FMPE_HRD_NO_INT = $2200;
FMPE_HRD_NO_PORT = $2300;
FMPE_HRD_NOT_FOUND = $2400;
FMPE_HRD_DONT_USE = $2500;

FMPF_END_STOP = $0000;
FMPF_END_PAUSE = $0001;
FMPF_END_KEEP = $0002;
FMPF_END_REPEAT = $0004;
FMPF_END_CLOSE = $0005;

FMPF_PAUSED = $0001;
FMPF_STOPPED = $0002;
FMPF_PLAYING = $0004;
FMPF_SEEKING = $0008;
FMPF_STEPPING = $0010;
FMPF_CLOSED = $0020;
FMPF_READY = (FMPF_PAUSED or FMPF_STOPPED);

FMPF_BYTES = $0001;
FMPF_SAMPLES = $0002;
FMPF_MSEC = $0003;
FMPF_HMSF = $0004;
FMPF_HMSC = $0005;
FMPF_FRAMES = FMPF_SAMPLES;
FMPF_TIME = FMPF_HMSC;
FMPF_SMPTE = FMPF_HMSF;

FMPF_BUF_32_BITS = $0001;
FMPF_BUF_LOOP = $0002;

FMPF_VID_UNKNOWN = $0000;
FMPF_VID_MPEG = $0001;
FMPF_VID_AVI = $0002;
FMPF_VID_MPEG2 = $0004;

FMPF_ALL_VGA = $0001;
FMPF_ALL_VID = $0002;
FMPF_KEY_VGA = $0004;
FMPF_KEY_VID = $0008;
FMPF_KEY_MIX = $000C;
FMPF_KEY_CALIBRATE = $000D;
FMPF_KEY_VIDCLEAR = $000E;

FMPF_AUD_UNKNOWN = $0000;
FMPF_AUD_MPEG = $0001;
FMPF_AUD_MPEG_L1 = $0002;
FMPF_AUD_MPEG_L2 = $0004;
FMPF_AUD_MPEG_L3 = $0008;
FMPF_AUD_MPEG2 = $0010;
FMPF_AUD_MPEG2_L1 = $0020;
FMPF_AUD_MPEG2_L2 = $0040;
FMPF_AUD_MPEG2_L3 = $0080;
FMPF_AUD_DOLBY_AC3 = $0100;

FMPF_AUD_WAVE = $0010;
FMPF_AUD_VOC = $0020;
FMPF_AUD_PCM = $0040;
FMPF_AUD_ADPCM = $0080;

FMPF_AUD_STEREO = $0001;
FMPF_AUD_JSTEREO = $0002;
FMPF_AUD_DUAL = $0003;
FMPF_AUD_SINGLE = $0004;

FMPF_AUD_NO_EMPH = $0001;
FMPF_AUD_EMPH_50 = $0002;
FMPF_AUD_EMPH_J17 = $0003;

FMPF_AUD_COPYRIGHT = $0001;
FMPF_AUD_ORIGINAL = $0002;

FMPF_GRP_UNKNOWN = $0000;
FMPF_GRP_MPEG = $0001;
FMPF_GRP_AVI = $0002;
FMPF_GRP_CUSTOM = $0004;
FMPF_GRP_MPEG2_PROGRAM = $0008;
FMPF_GRP_MPEG2_TRANSPORT = $0010;

FMPF_PIC_BMP = $0001;
FMPF_PIC_DIB24 = $0002;
FMPF_PIC_TOFILE = $0004;
FMPF_PIC_DIB8 = $0008;

FMPF_REFUSE = $0001;
FMPF_IGNORE = $0002;


//*******************************************************************************
// FMP Index
//*******************************************************************************/
FMPI_DRV_PRODUCT = $0101;
FMPI_DRV_VERSION = $0102;
FMPI_DRV_MAX_CHAN = $0103;
FMPI_DRV_VID_SUP = $0104;
FMPI_DRV_AUD_SUP = $0105;
FMPI_DRV_GRP_SUP = $0106;
FMPI_DRV_HDR_STAT = $0107;
FMPI_DRV_MEMORY = $0108;
FMPI_DRV_ID = $0109;
FMPI_DRV_CAPABILITY = $010A;

FMPI_STM_TYPE = $0202;
FMPI_STM_SOURCE = $0203;
FMPI_STM_MODE = $0204;
FMPI_STM_TIME_FMT = $0205;
FMPI_STM_POSITION = $0206;
FMPI_STM_SPEED = $0207;
FMPI_STM_USER = $0208;
FMPI_STM_SIZE = $0209;
FMPI_STM_SLIDE = $020A;
FMPI_STM_PASSWD = $0210;
FMPI_STM_FILETYPE = $0211;
FMPI_STM_MEMFLAGS = $0212;
FMPI_STM_FILESIZE = $0213;
FMPI_STM_FILEORG = $0214;
FMPI_STM_BIT_RATE = $0215;
FMPI_STM_NOCACHE = $0216;
FMPI_STM_DEV_POS = $0217;

FMPI_BUF_LEFT = $0301;
FMPI_BUF_POS = $0302;
FMPI_BUF_ADDRESS = $0303;
FMPI_BUF_SIZE = $0304;
FMPI_BUF_MODE = $0305;
FMPI_BUF_TOTALSIZE = $0306;

FMPI_VID_TYPE = $0401;
FMPI_VID_RATE = $0402;
FMPI_VID_SIZE = $0403;
FMPI_VID_ASPECT = $0404;
FMPI_VID_BIT_RATE = $0405;
FMPI_VID_SRC_POS = $0406;
FMPI_VID_SRC_SIZE = $0407;
FMPI_VID_DEST_POS = $0408;
FMPI_VID_DEST_SIZE = $0409;
FMPI_VID_KEY_MIN = $040A;
FMPI_VID_KEY_MAX = $040B;
FMPI_VID_KEY_MASK = $040C;
FMPI_VID_KEY_COL = $040D;
FMPI_VID_KEY_MODE = $040E;
FMPI_VID_KEY_TYPE = $040F;
FMPI_VID_CONTRAST = $0410;
FMPI_VID_BRIGHTNESS = $0411;
FMPI_VID_SATURATION = $0412;
FMPI_VID_SLIDE = $0420;
FMPI_VID_HWND = $0413;
FMPI_VID_KEY_COL_INDEX = $0414;
FMPI_VID_DISPLAY_AREA = $0415;
FMPI_VID_USER_PALETTE = $0416;
FMPI_VID_PALETTE_HWND = $0417;
FMPI_VID_REALIZE = $0418;
FMPI_VID_GAMMA = $0419;

FMPI_VID_DEFAULTS = $1000;
FMPI_VID_REGISTRY = $2000;

FMPI_AUD_TYPE = $0501;
FMPI_AUD_RATE = $0502;
FMPI_AUD_VOLUME = $0503;
FMPI_AUD_BIT_RATE = $0504;
FMPI_AUD_TREBLE = $0505;
FMPI_AUD_BASS = $0506;
FMPI_AUD_CHANNELS = $0507;
FMPI_AUD_EMPH = $0508;
FMPI_AUD_RIGHTS = $0509;
FMPI_AUD_SHIFT = $0510;
FMPI_AUD_BAL_L = $0511;
FMPI_AUD_BAL_R = $0512;

FMPI_AUD_DEFAULTS = $1000;
FMPI_AUD_REGISTRY = $2000;

FMPI_GRP_TYPE = $0601;
FMPI_GRP_NB = $0602;

FMPI_FIFO_FCNTRL = $0701;
FMPI_FIFO_SIZE = $0702;
FMPI_FIFO_MAX = $0703;
FMPI_FIFO_VID_SIZE = $0704;
FMPI_FIFO_AUD_SIZE = $0705;
FMPI_FIFO_START = $0706;
FMPI_FIFO_LOW = $0707;
FMPI_FIFO_HIGH = $0708;
FMPI_FIFO_DROP = $0709;
FMPI_FIFO_UNIT = $070A;
FMPI_FIFO_VID_LEFT = $070B;
FMPI_FIFO_AUD_LEFT = $070C;
FMPI_FIFO_SUBPICTURE_LEFT = $070D;
FMPI_FIFO_PCI_LEFT = $070E;
FMPI_FIFO_SUBPICTURE_SIZE = $070F;
FMPI_FIFO_PCI_SIZE = $0710;

FMPI_PUSH_ASYNC = $0801;
FMPI_PUSH_SYNC = $0802;

// Overlay specific settings (does not appky to rm 1 &
2)
FMPI_OVLY_XOFFSET = $0901;
FMPI_OVLY_YOFFSET = $0902;
FMPI_OVLY_VGACORRECTION = $0903;
FMPI_OVLY_STABILITY = $0904;
FMPI_OVLY_HFREQUENCY = $0905;
FMPI_OVLY_USEDEFAULTFREQ = $0906;
FMPI_OVLY_COLOR_SETTING = $0907;
FMPI_OVLY_LOWERLEVEL = $0908;
FMPI_OVLY_UPPERLEVEL = $0909;
FMPI_OVLY_DELTA_CALIBRATE = $090A;
FMPI_OVLY_COLOR_CALIBRATION = $090B;
FMPI_OVLY_JITTERING = $090C;

// Hoolywood (IBM MPEG 2) specific settings
FMPI_OVLY_CROPLEFT = $0B01;
FMPI_OVLY_CROPTOP = $0B02;
FMPI_OVLY_CROPRIGHT = $0B03;
FMPI_OVLY_CROPBOTTOM = $0B04;
FMPI_OVLY_INDELAY = $0B05;
FMPI_OVLY_OUTDELAY = $0B06;

// Values used for developpment purpose only
FMPI_ADJUSTMENT_A = $0F01;
FMPI_ADJUSTMENT_B = $0F02;
FMPI_ADJUSTMENT_C = $0F03;
FMPI_ADJUSTMENT_D = $0F04;
FMPI_ADJUSTMENT_E = $0F05;
FMPI_ADJUSTMENT_F = $0F06;

FMPI_OVLY_DEFAULTS = $1000;
FMPI_OVLY_REGISTRY = $2000;
FMPI_OVLY_RESET = $4000;

FMPI_UPD_PALETTE = $0001;
FMPI_UPD_VGA_MODE = $0007;
FMPI_UPD_FRAME_POS = $0008;
FMPI_UPD_FRAME_SIZE = $0009;

//*******************************************************************************
// FMP Constants
//*******************************************************************************/

FMP_MIN_AUD_VOLUME = 0;
FMP_MAX_AUD_VOLUME = 100;
FMP_DEF_AUD_VOLUME = 50;

FMP_MIN_BSC = 0;
// Brightness, Saturation &
Contrast
FMP_MAX_BSC = 1000;
FMP_DEF_BSC = 500;

FMP_MIN_GAMMA = 200; // Gamma correction values
FMP_MAX_GAMMA = 1400;
FMP_DEF_GAMMA = 800;

FMP_DEF_SPEED = $00010001; // Default speed value (1:1)

// REALmagic capabilities
FMP_CAPABILITY_BORDER_ADJUST = $0001;
FMP_CAPABILITY_KEYCOLOR_ADJUST = $0002;
FMP_CAPABILITY_BSC_ADJUST = $0004; // Brightness, Saturation &
contrast
FMP_CAPABILITY_AUTO_CALIBRATE = $0008;
FMP_CAPABILITY_SPECIFIC_ADJUST = $0010;
FMP_CAPABILITY_GAMMA_ADJUST = $0020;
FMP_CAPABILITY_HIRES = $0040;

// RGB values used for min. medium and max color calibration
FMP_MIN_COLOR_LEVEL = $00000000;
FMP_MEDIUM_COLOR_LEVEL = $00808080;
FMP_MAX_COLOR_LEVEL = $00FFFFFF;
FMP_MEDIUM_COLOR = $80;

FMP_LOWER_RED = $01;
FMP_LOWER_GREEN = $02;
FMP_LOWER_BLUE = $04;
FMP_UPPER_RED = $10;
FMP_UPPER_GREEN = $20;
FMP_UPPER_BLUE = $40;

// Max sizes for low resolution
FMP_MAX_LOW_RES_WIDTH = 640;
FMP_MAX_LOW_RES_HEIGHT = 400;

//Buffer Play contain
MAX_BUF_SIZE = 1024; // maximum buffer size (< 65534)(multiple of 1024)
MAX_BUF_NUMBER = 2; // maximum number of buffers to use

//*******************************************************************************
// FMP Structures
//*******************************************************************************/

type
FMP_OPEN_STRUCT=record
lpFileName : pchar;
dwCALLback : DWORD;
Reserved : array [1..8] of BYTE;
end;



FMP_PUSH_STRUCT=record
dwSize : DWORD;
lpBuffer : Pointer;
end;


FMP_COLOR_SETTING_STRUCT=record
RGBColorKey : COLORREF;
RGBUpper : COLORREF;
RGBLower : COLORREF;
Mask : Word;
end;


FMP_DISPLAY_AREA_STRUCT=record
context : DWORD;
dwContextSpecific : DWORD;
rect : TRECT;
hBrush : HBRUSH;
end;




var
hReelDrv:HDRVR;
// REALmagic driver handle

function MAKEDWORD(low:WORD;
hight:WORD):DWORD;
function FMPOpenDriver : integer;
procedure FMPCloseDriver;
function FMPCommand(Command:BYTE;hMPEGStream:BYTE;Flags:WORD;Value:DWORD):DWORD;
function FMPGetLastError(a:word):DWORD;
function FMPCallbackProc(bMsg:BYTE;
hMPEGStream:BYTE;
dwValue:DWORD):WORD;stdcall;

function FMPOpen( Flags:WORD;Filename:DWord):byte;
procedure FMPClose( hMPEGStream:Byte);
function FMPSet( hMPEGStream:Byte;Index:Word;Value:DWord ):DWORD;
function FMPGet( hMPEGStream:Byte;Index:DWORD):DWORD;
procedure FMPPlay( hMPEGStream:Byte;Flags:Word;
Position:DWORD);
procedure FMPStep( hMPEGStream:Byte;
Flags:WORD;
Position:DWORD);
procedure FMPCapture( hMPEGStream:Byte;
Index:WORD;
Position:DWORD);
procedure FMPSeek( hMPEGStream:Byte;
Flags:WORD;
Position:DWORD );
procedure FMPSignal( hMPEGStream:Byte;
Flags:WORD;
Position:DWORD);
procedure FMPPause( hMPEGStream:Byte );
procedure FMPStop( hMPEGStream:Byte );
function FMPGroup( hMPEGStream:Byte;
Flags:WORD;
Value:DWORD):DWORD;
procedure FMPCallback( hMPEGStream:Byte;
Value:DWORD );
procedure FMPUnload();
procedure FMPInit();
procedure FMPFreeze(hMPEGStream:Byte;
Flags:WORD;
Value:DWORD);
procedure FMPUpdate(subfunc:Byte;param1:WORD;param2:DWORD);
procedure FMPUpdatePalette( PaletteIndex:WORD;
nColors:DWORD );
procedure FMPUpdateVGAMode( Bits:WORD;
Mode:DWORD );

implementation

function MAKEDWORD(low:WORD;
hight:WORD):DWORD;
begin

Result:=low or (hight shl 16);
end;


{***************************************************************************
*
* FUNCTION : FMPOpenDriver()
*
* DESCRIPTION : Opens IMPEG32.DLL
*
* RETURN : non-zero if successful, 0 if failed.
*
* NOTES :
*
*******************************************************************************}
function FMPOpenDriver : integer;
begin

hReelDrv:=OpenDriver('reeldrv','Drivers32',Longint(0));//(LPCWSTR)TEXT("Reeldrv"),(LPCWSTR)TEXT("Driver32"),0L);
if( hReelDrv = 0 ) then

result:=0
else

result:=1; // successfully opened driver
end;


{*******************************************************************************
*
* FUNCTION : FMPCloseDriver()
*
* DESCRIPTION : Closes IMPEG32.DLL
*
* RETURN : NONE
*
* NOTES :
*
*******************************************************************************}
procedure FMPCloseDriver;
begin

CloseDriver(hReelDrv,Longint(0),Longint(0));
hReelDrv:=0;
end;


{*******************************************************************************
*
* FUNCTION : FMPCommand()
*
* DESCRIPTION : This function interfaces with the FMP MPEG support driver
* and sends out the requested command.
*
* RETURN : value from SendDriverMessage
*
* NOTES :
*
*******************************************************************************}
function FMPCommand(Command:BYTE;hMPEGStream:BYTE;Flags:WORD;Value:DWORD):DWORD;
begin

result:=SendDriverMessage(hReelDrv,DRV_USER+1,
MAKELPARAM(MAKEWORD(Command,hMPEGStream),Flags),Value);
end;


{*******************************************************************************
*
* FUNCTION : FMPGetLastError()
*
* DESCRIPTION : Returns last command error code.
*
* RETURN : last REALmagic command error code
*
* NOTES :
*
*******************************************************************************}
function FMPGetLastError(a:word):DWORD;
begin

result:=SendDriverMessage(hReelDrv,DRV_USER+2,DWORD(a),Longint(0));
end;


function FMPOpen( Flags:WORD;Filename:DWord):byte;
begin

Result:=LOBYTE( LOWORD( FMPCommand( FMP_OPEN, 0, Flags, Filename )));
end;


procedure FMPClose( hMPEGStream:Byte);
begin

FMPCommand( FMP_CLOSE, hMPEGStream, 0, 0 );
end;


function FMPSet( hMPEGStream:Byte;Index:Word;Value:DWord):DWORD;
begin

Result:=FMPCommand( FMP_SET, hMPEGStream, Index, Value );
end;


function FMPGet( hMPEGStream:Byte;Index:DWORD):DWORD;
begin

Result:=FMPCommand( FMP_GET, hMPEGStream, Index, 0 );
end;


procedure FMPPlay( hMPEGStream:Byte;Flags:Word;
Position:DWORD);
begin

FMPCommand( FMP_PLAY, hMPEGStream, Flags, Position );
end;


procedure FMPStep( hMPEGStream:Byte;
Flags:WORD;
Position:DWORD);
begin

FMPCommand( FMP_STEP, hMPEGStream, Flags, Position );
end;


procedure FMPCapture( hMPEGStream:Byte;
Index:WORD;
Position:DWORD);
begin

FMPCommand( FMP_CAPTURE, hMPEGStream, Index, Position );
end;


procedure FMPSeek( hMPEGStream:Byte;
Flags:WORD;
Position:DWORD );
begin

FMPCommand( FMP_SEEK, hMPEGStream, Flags, Position );
end;


procedure FMPSignal( hMPEGStream:Byte;
Flags:WORD;
Position:DWORD);
begin

FMPCommand( FMP_SIGNAL, hMPEGStream, Flags, Position );
end;


procedure FMPPause( hMPEGStream:Byte );
begin

FMPCommand( FMP_PAUSE, hMPEGStream, 0, 0 );
end;


procedure FMPStop( hMPEGStream:Byte );
begin

FMPCommand( FMP_STOP, hMPEGStream, 0, 0 );
end;


function FMPGroup( hMPEGStream:Byte;
Flags:WORD;
Value:DWORD):DWORD;
begin

Result:=FMPCommand( FMP_GROUP, hMPEGStream, Flags, Value );
end;


procedure FMPCallback( hMPEGStream:Byte;
Value:DWORD );
begin

FMPCommand( FMP_CALLBACK, hMPEGStream, FMPF_C, Value );
end;


procedure FMPUnload();
begin

FMPCommand( FMP_UNLOAD, 0, 0, 0 );
end;


procedure FMPInit();
begin

FMPCommand( FMP_INIT, 0, 0, 0 );
end;


procedure FMPFreeze(hMPEGStream:Byte;
Flags:WORD;
Value:DWORD);
begin

FMPCommand( FMP_FREEZE, hMPEGStream, Flags, Value );
end;


procedure FMPUpdate(subfunc:Byte;param1:WORD;param2:DWORD);
begin

FMPCommand(FMP_UPDATE,subfunc,param1,param2);
end;


procedure FMPUpdatePalette( PaletteIndex:WORD;
nColors:DWORD );
begin

FMPCommand( FMP_UPDATE, FMPI_UPD_PALETTE, 0, MAKEDWORD( nColors, PaletteIndex ));
end;


procedure FMPUpdateVGAMode( Bits:WORD;
Mode:DWORD );
begin

FMPCommand( FMP_UPDATE, FMPI_UPD_VGA_MODE, Bits, Mode );
end;


 
procedure FMPCallback( hMPEGStream:Byte;
Value:DWORD );
begin

FMPCommand( FMP_CALLBACK, hMPEGStream, FMPF_C, Value );
end;


上面那个是用来按照回调函数的还是有其他什么作用?
 
houling:
你好,能将FMPCALLBACKPROC函数代码发一份给我吗,
现在我正在处理缓冲模式播放,却一直不成功,参考了你
以前的帖子,还是不能播放.请多多指教!
wudeyou
lightwdy@163.com
 
to 活着的VIVA
您能把控件发一份给我吗?
smallfox@yahoo.com
redsuntech@163.net
 
to houling
怎样控制图象显示控制在本机上和电视上
谢谢
EMAIL confidentbb@163.com
 
To: 活着的VIVA
您能把控件发一份给我吗? icqlm@sina.com QQ:6188477 [:)]

下面是我扬过发给我的例子,用于转换电视与显示器
flagtv是定义的一个变量
if(ghMPEGStream)
{
switch(flagtv)
{
case 1:
FMPSet(ghMPEGStream, 0x41b, 0);
flagtv=0;
break;
case 0:
FMPSet(ghMPEGStream,0x41b,1);
flagtv=1;
break;
}
}
 
终于完成了神龙卡控件的缓冲播放和 网络广播功能, 但是我 我发现缓冲播放时不接受
VCD 文件? WHY? 有谁能告诉我吗?
 
活着VIVA:
你好!
缓冲播放模式不支持VCD,你可以看看以前我给你的开发包。
不知你是否收到我的MAIL,你上次给我的代码由于硬盘损坏全部掉了,
请帮忙再发一份。另外,请把你新的联系方式给我,有事可以直接找到你。
谢谢!
WUDEYOU
LIGHTWDY@163.COM
 
因为VCD是有头文件的,而DVD是无头文件的。
活着VIVA,可否将缓冲区播放和广播功能的一些代码发给我
 
我的邮箱webmaster01@vip.sina.com
如果不方便的话,就算了:-)
 
你好, 活着VIVA:
能不能给我发一份缓冲区播放和广播功能的一些代码。谢谢

zhujiajun@21cn.com
 
你好, 活着VIVA:
能不能给我发一份缓冲区播放和广播功能的一些代码。谢谢

hnxsc@vip.sina.com
 
你好, 活着VIVA:
能不能给我发一份缓冲区播放和广播功能的一些代码。谢谢
lujinhu@163.net
 
你好, 活着VIVA:
能不能给我发一份缓冲区播放和广播功能的一些代码。谢谢
smallfox@yahoo.com
 
我有DLL包!
我想用软方式来做,或用MEDIA PLAY,但声音道控制不明白

如果用WMV格式也不错呢!
http://www.delphibbs.com/delphibbs/dispq.asp?lid=1815771
 
各位大哥能说说神龙卡播放器的开发流程吗?
 

Similar threads

回复
0
查看
1K
不得闲
D
回复
0
查看
1K
DelphiTeacher的专栏
D
D
回复
0
查看
2K
DelphiTeacher的专栏
D
后退
顶部