⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 bassvideo.pas

📁 delphi2007写的播放器源码。效果类似于千千静听。
💻 PAS
📖 第 1 页 / 共 2 页
字号:
    VIDEOTYPE_AnalogVideo_SECAM_H                          = 39;
    VIDEOTYPE_AnalogVideo_SECAM_K                          = 40;
    VIDEOTYPE_AnalogVideo_SECAM_K1                         = 41;
    VIDEOTYPE_AnalogVideo_SECAM_L                          = 42;
    //DirectX Video Acceleration Video Subtypes
    VIDEOTYPE_AI44                                         = 43;
    VIDEOTYPE_IA44                                         = 44;
    //DV Video Subtypes
    VIDEOTYPE_dvsl                                         = 45;
    VIDEOTYPE_dvsd                                         = 46;
    VIDEOTYPE_dvhd                                         = 47;
    //Professional Formats
    VIDEOTYPE_dv25                                         = 48;
    VIDEOTYPE_dv50                                         = 49;
    VIDEOTYPE_dvh1                                         = 50;
    VIDEOTYPE_DVCS                                         = 51;
    //Video Mixing Renderer Video Subtypes
    //VMR-7 Subtypes
    VIDEOTYPE_RGB32_D3D_DX7_RT                             = 52;
    VIDEOTYPE_RGB16_D3D_DX7_RT                             = 53;
    VIDEOTYPE_ARGB32_D3D_DX7_RT                            = 54;
    VIDEOTYPE_ARGB4444_D3D_DX7_RT                          = 55;
    VIDEOTYPE_ARGB1555_D3D_DX7_RT                          = 56;
    //VMR-9 Subtypes
    VIDEOTYPE_RGB32_D3D_DX9_RT                             = 57;
    VIDEOTYPE_RGB16_D3D_DX9_RT                             = 58;
    VIDEOTYPE_ARGB32_D3D_DX9_RT                            = 59;
    VIDEOTYPE_ARGB4444_D3D_DX9_RT                          = 60;
    VIDEOTYPE_ARGB1555_D3D_DX9_RT                          = 61;
    //Miscellaneous Video Subtypes
    VIDEOTYPE_CFCC                                         = 62;
    VIDEOTYPE_CLJR                                         = 63;
    VIDEOTYPE_CPLA                                         = 64;
    VIDEOTYPE_CLPL                                         = 65;
    VIDEOTYPE_IJPG                                         = 66;
    VIDEOTYPE_MDVF                                         = 67;
    VIDEOTYPE_MJPG                                         = 68;
    VIDEOTYPE_MPEG1Packet                                  = 69;
    VIDEOTYPE_MPEG1Payload                                 = 70;
    VIDEOTYPE_Overlay                                      = 71;
    VIDEOTYPE_Plum                                         = 72;
    VIDEOTYPE_QTJpeg                                       = 73;
    VIDEOTYPE_QTMovie                                      = 74;
    VIDEOTYPE_QTRle                                        = 75;
    VIDEOTYPE_QTRpza                                       = 76;
    VIDEOTYPE_QTSmc                                        = 77;
    VIDEOTYPE_TVMJ                                         = 78;
    VIDEOTYPE_VPVBI                                        = 79;
    VIDEOTYPE_VPVideo                                      = 80;
    VIDEOTYPE_WAKE                                         = 81;
         // end new 2.4.1.0

function BassVideo_ErrorGetCode : integer; stdcall; external BassVideoDLL;

function BassVideo_StreamCreateFileUser(UserProc : BASS_FILEPROCS;
                                        MediaType, Flags, BassFlags : DWORD;
                                        CallBackProc : VIDEOPROC; user : Pointer): DWORD; stdcall; external BassVideoDLL;

function BassVideo_StreamCreateFileMem(data :Pointer; datalength : int64;
                                       MediaType, Flags, BassFlags : DWORD;
                                       CallBackProc : VIDEOPROC; user : Pointer): DWORD; stdcall; external BassVideoDLL;

function BassVideo_StreamCreateFile(FileName : Pointer; Flags, BassFlags : DWORD;
                                    CallBackProc : VIDEOPROC; user : Pointer) : DWORD; stdcall; external BassVideoDLL;


procedure BassVideo_SetConfig(Option : DWORD; Value : DWORD); stdcall; external BassVideoDLL;

function BassVideo_Play(handle: DWORD) : BOOL; stdcall; external BassVideoDLL;//  <--- 2.4.1.2 changes
function BassVideo_Stop(handle: DWORD) : BOOL; stdcall; external BassVideoDLL;
function BassVideo_Pause(handle: DWORD) : BOOL; stdcall; external BassVideoDLL;
function BassVideo_SetPosition(handle: DWORD; pos: Double): BOOL; stdcall; external BassVideoDLL;//  <--- 2.4.1.2 changes
function BassVideo_SetEndPosition(handle: DWORD; endpos: Double): BOOL; stdcall; external BassVideoDLL;//  <--- 2.4.1.2 changes
function BassVideo_GetPosition(handle: DWORD): Double; stdcall; external BassVideoDLL;//  <--- 2.4.1.2 changes
function BassVideo_GetLength(handle: DWORD): Double; stdcall; external BassVideoDLL;//  <--- 2.4.1.2 changes
procedure BassVideo_StreamFree(handle: DWORD); stdcall; external BassVideoDLL;

function BassVideo_Init : BOOL; stdcall; external BassVideoDLL;
procedure BassVideo_Free; stdcall; external BassVideoDLL;
function BassVideo_GetCurrentBuffering(Handle : DWORD) : integer; stdcall; external BassVideoDLL;
function BassVideo_SetEventNotify(chan : DWORD; hwnd: OAHWND; lMsg: Longint; lInstanceData: Longint) : BOOL; stdcall; external BassVideoDLL;
function BassVideo_GetEvent(chan : DWORD; out lEventCode: Longint;
                            out lParam1, lParam2: Longint; msTimeout: DWORD) : BOOL; stdcall; external BassVideoDLL;

                            // for video windows function
procedure BassVideo_SetVideoWindow(chan : DWORD; VideoWindowHandle : THandle;var VideoRect : TRect; VideoNum : integer); stdcall; external BassVideoDLL;
procedure BassVideo_Repaint(chan : DWORD; WinHandle : HWND; DC : HDC; VideoNum : integer); stdcall; external BassVideoDLL;
procedure BassVideo_WindowResize(chan : DWORD;var Rect : TRect; VideoNum : integer); stdcall; external BassVideoDLL;
procedure BassVideo_WindowMove(chan : DWORD; Msg : DWORD; wParam, lParam : LongInt; VideoNum : integer); stdcall; external BassVideoDLL;
function BassVideo_SetRatio(chan : DWORD; Value: TResizeType; custom : Double; VideoNum : integer) : HRESULT; stdcall; external BassVideoDLL;

function BassVideo_SetChannel(chan, newChan : DWORD) : DWORD; stdcall; external BassVideoDLL;
function BassVideo_AddFile(Oldchan : DWORD; newFile : Pointer; Flags, BassFlags : DWORD;
                           callbackproc : VIDEOPROC; user : Pointer) : DWORD; stdcall; external BassVideoDLL;
function BassVideo_GetVersion : DWORD; stdcall; external BassVideoDLL;
function BassVideo_EventToString(Event : Longint) : PChar; stdcall; external BassVideoDLL;

function BassVideo_AddVideo(chan : DWORD; ParentHandle : HWND; var Rect : TRECT; Flags : DWORD): BOOL; stdcall; external BassVideoDLL;

function BassVideo_GetGraph(chan : DWORD) : Pointer; stdcall; external BassVideoDLL;

function BassVideo_FrameStep(chan : DWORD): BOOL; stdcall; external BassVideoDLL;

// new function added (2.4.0.8)
function BassVideo_SetColor(Chan : DWORD; Color : integer; Value : single; VideoNum : integer; Flags : DWORD) : BOOL; stdcall; external BassVideoDLL;
function BassVideo_GetColorRange(Chan : DWORD; Color : integer; VideoNum : integer; Flags : DWORD; var CMax, CMin, CDef : Single) : BOOL; stdcall; external BassVideoDLL;

function BassVideo_CaptureBitmap(lpSourceFile : Pointer; CaptureTime : Double; BitmapOutput : Pointer; Flags : DWORD) : BOOL; stdcall; external BassVideoDLL;
(* Add Flags for UNICODE FILE NAME *)

procedure BassVideo_GetVideoInfo(chan : DWORD; var height, width : integer); stdcall; external BassVideoDLL;
function BassVideo_EnumFilter(chan : DWORD; callback : Pointer; user : Pointer) : BOOL; stdcall; external BassVideoDLL;
function BassVideo_HasFilterPropertyPage(chan : DWORD; Filter : Pointer; Flags : DWORD): BOOL; stdcall; external BassVideoDLL;
function BassVideo_ShowFilterPropertyPage(chan : DWORD; Filter : Pointer;parenthandle : HWND;Flags : DWORD): BOOL; stdcall; external BassVideoDLL;
function BassVideo_SaveGraphFile(chan : DWORD; FileName : Pointer; Flags : DWORD) : BOOL; stdcall; external BassVideoDLL;
procedure BassVideo_CloseWindow(chan : DWORD; VideoNum : integer); stdcall; external BassVideoDLL;
function BassVideo_GetVideoWindow(chan : DWORD; vidnum : integer): HWND; stdcall; external BassVideoDLL;

function BassVideo_SetTempoValue(chan, value : DWORD) : BOOL; stdcall; external BassVideoDLL;
function BassVideo_SetTempoEnable(chan : DWORD; value : BOOL) : BOOL; stdcall; external BassVideoDLL;
function BassVideo_GetTempoValue(chan : DWORD) : integer; stdcall; external BassVideoDLL;
function BassVideo_GetTempoEnable(chan : DWORD) : BOOL; stdcall; external BassVideoDLL;

// new 2.4.1.0
function BassVideo_SetPitchValue(chan, value : DWORD) : BOOL; stdcall; external BassVideoDLL;
function BassVideo_SetPitchEnable(chan : DWORD; value : BOOL) : BOOL; stdcall; external BassVideoDLL;
function BassVideo_GetPitchValue(chan : DWORD) : integer; stdcall; external BassVideoDLL;
function BassVideo_GetPitchEnable(chan : DWORD) : BOOL; stdcall; external BassVideoDLL;

function BassVideo_GetInfo(chan : DWORD; var info : TBassVideoInfo) : BOOL; stdcall; external BassVideoDLL;
function BassVideo_GetFrameInfo(chan : DWORD; var info : TBassVideoFrameInfo): BOOL; stdcall; external BassVideoDLL;

function BassVideo_EncoderAudio(chan : DWORD; VideoPreview : BOOL; DataProc : TAudioEncoderCallBack; user : Pointer): DWORD; stdcall; external BassVideoDLL;

function BassVideo_AddVideo2(chan : DWORD; ParentHandle : HWND; L, T, R, B : integer; Flags : DWORD): BOOL; stdcall; external BassVideoDLL;
// end new 2.4.1.0

// 2.4.1.1
function BassVideo_EnumEncoder(EncoderType : integer; CallBack : TCallBackEnumEncoderFilter;
                               user : Pointer): BOOL; stdcall; external BassVideoDLL;
function BassVideo_CreateEncoder(FilterGUID : PGUID): Pointer; stdcall; external BassVideoDLL;

function BassVideo_ConfigEncoderFilter(chan : DWORD;EncoderType : integer;parentHandle : HWND) : BOOL; stdcall; external BassVideoDLL;

function BassVideo_ConfigFilter(FilterType : integer; FilterName : PChar; parentHandle : HWND) : BOOL; stdcall; external BassVideoDLL;

// 2.4.1.2

function BassVideo_AddText(chan : DWORD; text : PWideChar; x, y : integer; fontname : PChar; fontheight, fontwidth : integer;
                           fontcolor : DWORD; fontstyle : DWORD): integer; stdcall; external BassVideoDLL;
function BassVideo_AddText2(chan : DWORD; text : PWideChar; x, y : integer; hfont : DWORD; fontcolor : DWORD): integer; stdcall; external BassVideoDLL;

function BassVideo_Set_Draw_CallBack(chan : DWORD; CallBackFunction : TCallBackDraw; user : Pointer): BOOL; stdcall; external BassVideoDLL;

function BassVideo_RemoveText(chan : DWORD; hText : integer): BOOL; stdcall; external BassVideoDLL;

function BassVideo_DVD_StreamCreate(dvdpath : PWideChar; flags, bassflags : DWORD;
                                    vidproc : VIDEOPROC; user : pointer): DWORD; stdcall; external BassVideoDLL;
function BassVideo_DVD_ShowMenu(chan : DWORD): BOOL; stdcall; external BassVideoDLL;
function BassVideo_DVD_MouseMove(chan : DWORD; lParam : LPARAM): BOOL; stdcall; external BassVideoDLL;
function BassVideo_DVD_MouseClick(chan : DWORD; lParam : LPARAM): BOOL; stdcall; external BassVideoDLL;
function BassVideo_DVD_EnableCaptions(chan : DWORD; CaptionEnable: BOOL): BOOL; stdcall; external BassVideoDLL;
function BassVideo_DVD_ShowTitle(chan : DWORD): BOOL; stdcall; external BassVideoDLL;
function BassVideo_DVD_SaveBookMarks(chan : DWORD; FileName, Name : PWideChar): BOOL; stdcall; external BassVideoDLL;
function BassVideo_DVD_RestoreBookMarks(chan : DWORD; FileName, Name : PWideChar): BOOL; stdcall; external BassVideoDLL;
function BassVideo_DVD_GetTitleCount(chan : DWORD): integer; stdcall; external BassVideoDLL;
function BassVideo_DVD_GetChapterCount(chan : DWORD; title : DWORD) : DWORD; stdcall; external BassVideoDLL;
function BassVideo_DVD_Play(chan : DWORD; title : integer; chapter : integer; time : Double): BOOL; stdcall; external BassVideoDLL;
function BassVideo_DVD_SetPlayRate(chan : DWORD; Rate : Double): BOOL; stdcall; external BassVideoDLL;
function BassVideo_DVD_PlayNextChapter(chan : DWORD) : BOOL; stdcall; external BassVideoDLL;
function BassVideo_DVD_PlayPrevChapter(chan : DWORD) : BOOL; stdcall; external BassVideoDLL;
function BassVideo_DVD_RePlayChapter(chan : DWORD) : BOOL; stdcall; external BassVideoDLL;
function BassVideo_DVD_PlayTitleInTime(chan : DWORD; title : integer; from_time, to_time : Double): BOOL; stdcall; external BassVideoDLL;
function BassVideo_DVD_PlayChapterAndStop(chan : DWORD; title, chapter, num : integer): BOOL; stdcall; external BassVideoDLL;
function BassVideo_DVD_GetAudioLanguageCount(Chan : DWORD; var LangCount: DWORD; var CurrentLang : DWORD): BOOL; stdcall; external BassVideoDLL;
function BassVideo_DVD_GetAudioLanguage(chan : DWORD; LangIndex : DWORD): PWideChar; stdcall; external BassVideoDLL;
function BassVideo_DVD_SetAudioLanguage(chan : DWORD; LangIndex : DWORD): BOOL; stdcall; external BassVideoDLL;
function BassVideo_DVD_GetSubtitleCount(chan : DWORD; var MaxSub : DWORD;var CurrentSub : DWORD;var isSubShow : BOOL): BOOL; stdcall; external BassVideoDLL;
function BassVideo_DVD_GetSubtitleName(chan : DWORD; LangIndex : DWORD): PWideChar; stdcall; external BassVideoDLL;
function BassVideo_DVD_SetSubtitle(chan : DWORD; LangIndex : DWORD): BOOL; stdcall; external BassVideoDLL;
function BassVideo_DVD_EnableSubtitle(chan : DWORD; Enable : BOOL): BOOL; stdcall; external BassVideoDLL;
function BassVideo_DVD_SelectParentalLevel(chan : DWORD; Level : DWORD): BOOL; stdcall; external BassVideoDLL;
function BassVideo_DVD_GetAngleCount(chan : DWORD;var anglemax : DWORD;var CurrentAngle : DWORD) : BOOL; stdcall; external BassVideoDLL;
function BassVideo_DVD_SetCurrentAngle(chan : DWORD;CurrentAngle : DWORD) : BOOL; stdcall; external BassVideoDLL;

function BassVideo_Capture_EnumDevice(DeviceType : integer; CallBack : Pointer; user : Pointer): BOOL; stdcall; external BassVideoDLL;
function BassVideo_Capture_StreamCreate(Video_Device, Audio_Device : Pointer; isFilterName : BOOL) : HCapture; stdcall; external BassVideoDLL;
function BassVideo_Capture_Start(handle : HCapture; Flags, BassFlags : DWORD; VidProc : VIDEOPROC; user : POinter) : DWORD; stdcall; external BassVideoDLL;
function BassVideo_Capture_ConfigDevice(handle : HCapture;Device :integer; parent : HWND): BOOL; stdcall; external BassVideoDLL;
function BassVideo_Capture_ConfigDevicePin(handle : HCapture;Device :integer; parent : HWND): BOOL; stdcall; external BassVideoDLL;

function BassVideo_Encoder_SetWMSetting(chan : DWORD; setting : dword; value : dword): BOOL; stdcall; external BassVideoDLL;

function BassVideo_EncoderVideo(_fin, _fout : Pointer; VideoType : integer; Flags : DWORD;
                                _VideoCodec, _AudioCodec : Pointer; VidProc : VIDEOPROC; user : POinter): DWORD; stdcall; external BassVideoDLL;
function BassVideo_Encoder_Create(chan : DWORD; FOut : PWideChar; OutputType : integer;
                                  EncoderSetting: Pointer): DWORD; stdcall; external BassVideoDLL;
                                  
function BassVideo_ReAddVideo(chan : DWORD): BOOL; stdcall; external BassVideoDLL;

function BassVideo_StreamCreateURL(URL : Pointer; Flags, BassFlags : DWORD;
                                    CallBackProc : VIDEOPROC; user : Pointer) : DWORD; stdcall; external BassVideoDLL;

function BassVideo_SetVolume(chan : DWORD; vol : integer): BOOL; stdcall; external BassVideoDLL;

function BassVideo_ReAddVideo2(chan : DWORD; mIndexLeft : integer): BOOL; stdcall; external BassVideoDLL;

function BassVideo_Encoder_GetWMSettingCount(SettingType : integer;var CodecCount : integer;
                                             var FormatCount : integer): BOOL; stdcall;  external BassVideoDLL;
                                             
function BassVideo_Encoder_GetWMSetting(SettingType, Codec, Format : integer;
                                        var value : Pointer): BOOL; stdcall; external BassVideoDLL;


function BassVideo_AddToRoot(chan : DWORD; add : BOOL): BOOL; stdcall; external BassVideoDLL;
implementation

end.

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -