Page 1 sur 1

2 question

Publié : dim. 28/août/2005 19:16
par scaraber
salut
voila j'arai deux question
1 comment recuperr la vitesse de conextion internet
2 comment recperr l'imag ede la webcam

Publié : dim. 28/août/2005 20:21
par kelly
je ne sais pas mais je tenais a souligner ton orthographe inpaicable !!!

Publié : lun. 29/août/2005 1:54
par KarLKoX
Image

Publié : lun. 29/août/2005 8:23
par lionel_om
http://luchezl.free.fr/Programmation/PB ... hp?file=30
pour la WebCam

Pour la vitesse d'une connexion, tu parle bien de la "vitesseMax" ? Genre 512, 20Mbits, etc ? (si c'est ça je ne sais pas trop).

Publié : lun. 29/août/2005 8:38
par scaraber
merci lionel je vais aller regarder sa

(pour mon orthographe je c mais la je suis en vacance et il me reste plus que 1 h 15 de conex donc je fait vite dsl )
+++

Publié : mar. 30/août/2005 10:12
par Oliv
Pour la webcam utilise la fonction rechercher, j'ai posté 2-3 codes

Publié : mar. 30/août/2005 10:27
par scaraber

Code : Tout sélectionner

;========================================================================= 

IncludeFile "avicap32.pb" 

;========================================================================= 

OpenWindow(0,30,180,320,240,#PB_Window_SizeGadget|#PB_Window_SystemMenu,"AVICap") 

;========================================================================= 

AVICap_GetDriverNumber() 
AVICap_Create(WindowID(),0,0,320,240,0) 
AVICap_DriverConnect(0) 
AVICap_Overlay(#True) 

;========================================================================= 

DriverName$    = Space(80) 
DriverVersion$ = Space(40) 
AVICap_DriverGetName   (@DriverName$   ,80) 
AVICap_DriverGetVersion(@DriverVersion$,40) 
Debug DriverName$ 
Debug DriverVersion$ 

;========================================================================= 

If 0 
  Debug AVICap_DlgVideoSource() 
  Debug AVICap_DlgVideoFormat() 
  Debug AVICap_DlgVideoDisplay() 
  Debug AVICap_DlgVideoCompression() 
EndIf 

;========================================================================= 

Repeat : Until WaitWindowEvent() = #PB_Event_CloseWindow 

;========================================================================= 

AVICap_DriverDisconnect() 
AVICap_LibClose() 
End
 

Code : Tout sélectionner

;========================================================================= 
; 
; Object :      AVICap wrapper for PureBasic 3.80 
; Author :      Philippe Carpentier 
; Date :        16-dec-2003 
; Note :        This module requiert the avicap32.dll installed in Windows 
; Description : Set of functions for Video capture 
; 
;========================================================================= 


;========================================================================= 
;- AVICAP PUREBASIC HEADER 
;========================================================================= 


Global hLib.l, hCap.l 

#AVICAP_LIB_INDEX   = 0 
#AVICAP_LIB_NAME    = "avicap32.dll" 
#AVICAP_FUNC_CREATE = "capCreateCaptureWindowA" 
#AVICAP_FUNC_DRIVER = "capGetDriverDescriptionA" 


;========================================================================= 
;- AVICAP CONSTANTES MESSAGES 
;========================================================================= 


Enumeration 
  
  #WM_CAP_START                   = #WM_USER 
  #WM_CAP_GET_CAPSTREAMPTR 
  #WM_CAP_SET_CALLBACK_ERROR 
  #WM_CAP_SET_CALLBACK_STATUS 
  #WM_CAP_SET_CALLBACK_YIELD 
  #WM_CAP_SET_CALLBACK_FRAME 
  #WM_CAP_SET_CALLBACK_VIDEOSTREAM 
  #WM_CAP_SET_CALLBACK_WAVESTREAM 
  #WM_CAP_GET_USER_DATA 
  #WM_CAP_SET_USER_DATA 
  #WM_CAP_DRIVER_CONNECT 
  #WM_CAP_DRIVER_DISCONNECT 
  #WM_CAP_DRIVER_GET_NAME 
  #WM_CAP_DRIVER_GET_VERSION 
  #WM_CAP_DRIVER_GET_CAPS 
  #WM_CAP_FILE_SET_CAPTURE_FILE   = #WM_CAP_START + 20 
  #WM_CAP_FILE_GET_CAPTURE_FILE 
  #WM_CAP_FILE_ALLOCATE 
  #WM_CAP_FILE_SAVEAS 
  #WM_CAP_FILE_SET_INFOCHUNK 
  #WM_CAP_FILE_SAVEDIB 
  #WM_CAP_EDIT_COPY               = #WM_CAP_START + 30 
  #WM_CAP_SET_AUDIOFORMAT         = #WM_CAP_START + 35 
  #WM_CAP_GET_AUDIOFORMAT 
  #WM_CAP_DLG_VIDEOFORMAT         = #WM_CAP_START + 41 
  #WM_CAP_DLG_VIDEOSOURCE 
  #WM_CAP_DLG_VIDEODISPLAY 
  #WM_CAP_GET_VIDEOFORMAT 
  #WM_CAP_SET_VIDEOFORMAT 
  #WM_CAP_DLG_VIDEOCOMPRESSION 
  #WM_CAP_SET_PREVIEW             = #WM_CAP_START + 50 
  #WM_CAP_SET_OVERLAY 
  #WM_CAP_SET_PREVIEWRATE 
  #WM_CAP_SET_SCALE 
  #WM_CAP_GET_STATUS 
  #WM_CAP_SET_SCROLL 
  #WM_CAP_GRAB_FRAME              = #WM_CAP_START + 60 
  #WM_CAP_GRAB_FRAME_NOSTOP 
  #WM_CAP_SEQUENCE 
  #WM_CAP_SEQUENCE_NOFILE 
  #WM_CAP_SET_SEQUENCE_SETUP 
  #WM_CAP_GET_SEQUENCE_SETUP 
  #WM_CAP_SET_MCI_DEVICE 
  #WM_CAP_GET_MCI_DEVICE 
  #WM_CAP_STOP 
  #WM_CAP_ABORT 
  #WM_CAP_SINGLE_FRAME_OPEN       = #WM_CAP_START + 70 
  #WM_CAP_SINGLE_FRAME_CLOSE 
  #WM_CAP_SINGLE_FRAME 
  #WM_CAP_PAL_OPEN                = #WM_CAP_START + 80 
  #WM_CAP_PAL_SAVE 
  #WM_CAP_PAL_PASTE 
  #WM_CAP_PAL_AUTOCREATE 
  #WM_CAP_PAL_MANUALCREATE 
  #WM_CAP_SET_CALLBACK_CAPCONTROL 
  #WM_CAP_END                     = #WM_CAP_SET_CALLBACK_CAPCONTROL 
  
EndEnumeration 


;========================================================================= 
; 
;- STRUCT CAPDRIVERCAPS 
; 
; The CAPDRIVERCAPS Structure defines the capabilities of the 
; capture driver. An application should use the WM_CAP_DRIVER_GET_CAPS 
; message Or capDriverGetCaps macro to place a copy of the driver 
; capabilities in a CAPDRIVERCAPS Structure whenever the application 
; connects a capture window To a capture driver. 
; 
;========================================================================= 


Structure CAPDRIVERCAPS 
  
  wDeviceIndex.l              ; UINT    Index of the capture driver. An index value can range from 0 to 9. 
  fHasOverlay.b               ; BOOL    Video-overlay flag. The value of this member is TRUE if the device supports video overlay. 
  fHasDlgVideoSource.b        ; BOOL    Video source dialog flag. The value of this member is TRUE if the device supports a dialog box for selecting and controlling the video source. 
  fHasDlgVideoFormat.b        ; BOOL    Video format dialog flag. The value of this member is TRUE if the device supports a dialog box for selecting the video format. 
  fHasDlgVideoDisplay.b       ; BOOL    Video display dialog flag. The value of this member is TRUE if the device supports a dialog box for controlling the redisplay of video from the capture frame buffer. 
  fCaptureInitialized.b       ; BOOL    Capture initialization flag. The value of this member is TRUE if a capture device has been successfully connected. 
  fDriverSuppliesPalettes.b   ; BOOL    Driver palette flag. The value of this member is TRUE if the driver can create palettes. 
  hVideoIn.l                  ; HANDLE  Not used in Win32 applications. 
  hVideoOut.l                 ; HANDLE  Not used in Win32 applications. 
  hVideoExtIn.l               ; HANDLE  Not used in Win32 applications. 
  hVideoExtOut.l              ; HANDLE  Not used in Win32 applications. 
  
EndStructure 


;========================================================================= 
; 
;- STRUCT CAPSTATUS 
; 
; The CAPSTATUS structure defines the current state of the capture window. 
; 
;========================================================================= 


Structure HPALETTE 
  
  dummy.l ; no info about it :( 
  
EndStructure 

Structure CAPSTATUS 
  
  uiImageWidth.l                ; UINT     Image width, in pixels. 
  uiImageHeight.l               ; UINT     Image height, in pixels. 
  fLiveWindow.b                 ; BOOL     Live window flag. The value of this member is TRUE if the window is displaying video using the preview method. 
  fOverlayWindow.b              ; BOOL     Overlay window flag. The value of this member is TRUE if the window is displaying video using hardware overlay. 
  fScale.b                      ; BOOL     Input scaling flag. The value of this member is TRUE if the window is scaling the input video to the client area 
                                ;          when displaying video using preview. This parameter has no effect when displaying video using overlay. 
  ptScroll.POINT                ; POINT    The x- and y-offset of the pixel displayed in the upper left corner of the client area of the window. 
  fUsingDefaultPalette.b        ; BOOL     Default palette flag. The value of this member is TRUE if the capture driver is using its default palette. 
  fAudioHardware.b              ; BOOL     Audio hardware flag. The value of this member is TRUE if the system has waveform-audio hardware installed. 
  fCapFileExists.b              ; BOOL     Capture file flag. The value of this member is TRUE if a valid capture file has been generated. 
  dwCurrentVideoFrame.l         ; DWORD    Number of frames processed during the current (or most recent) streaming capture. This count includes dropped frames. 
  dwCurrentVideoFramesDropped.l ; DWORD    Number of frames dropped during the current (or most recent) streaming capture. Dropped frames occur when the capture rate exceeds the rate 
                                ;          at which frames can be saved To file. In this case, the capture driver has no buffers available For storing Data. Dropping frames does not affect 
                                ;          synchronization because the previous frame is displayed in place of the dropped frame. 
  dwCurrentWaveSamples.l        ; DWORD    Number of waveform-audio samples processed during the current (or most recent) streaming capture. 
  dwCurrentTimeElapsedMS.l      ; DWORD    Time, in milliseconds, since the start of the current (or most recent) streaming capture. 
  hPalCurrent.HPALETTE          ; HPALETTE Handle of current palette. 
  fCapturingNow.b               ; BOOL     Capturing flag. The value of this member is TRUE when capturing is in progress. 
  dwReturn.l                    ; DWORD    Error return values. Use this member if your application does not support an error callback function. 
  wNumVideoAllocated.l          ; UINT     Number of video buffers allocated. This value might be less than the number specified in the wNumVideoRequested member of the CAPTUREPARMS structure. 
  wNumAudioAllocated.l          ; UINT     Number of audio buffers allocated. This value might be less than the number specified in the wNumAudioRequested member of the CAPTUREPARMS structure. 
  
EndStructure 


;========================================================================= 
; 
;- STRUCT CAPTUREPARMS 
; 
; The CAPTUREPARMS Structure contains parameters that control 
; the streaming video capture process. This Structure is used 
; to get And set parameters that affect the capture rate, 
; the number of buffers To use While capturing, 
; And how capture is terminated. 
; 
;========================================================================= 


Structure CAPTUREPARMS 
  
  dwRequestMicroSecPerFrame.l ; DWORD Requested frame rate, in microseconds. The default value is 66667, which corresponds to 15 frames per second. 
  fMakeUserHitOKToCapture.b   ; BOOL  User-initiated capture flag. If this member is TRUE, AVICap displays a dialog box prompting the user to initiate capture. The default value is FALSE. 
  wPercentDropForError.l      ; UINT  Maximum allowable percentage of dropped frames during capture. Values range from 0 to 100. The default value is 10. 
  fYield.b                    ; BOOL  Yield flag. If this member is TRUE, the capture window spawns a separate background thread to perform step and streaming capture. The default value is FALSE. 
                              ;       Applications that set this flag must handle potential reentry issues because the controls in the application are not disabled While capture is in progress. 
  dwIndexSize.l               ; DWORD Maximum number of index entries in an AVI file. Values range from 1800 to 324,000. If set to 0, a default value of 34,952 (32K frames plus a proportional number of audio buffers) is used. 
                              ;       Each video frame Or buffer of waveform-audio Data uses one index entry. The value of this entry establishes a limit For the number of frames Or audio buffers that can be captured. 
  wChunkGranularity.l         ; UINT  Logical block size, in bytes, of an AVI file. The value 0 indicates the current sector size is used as the granularity. 
  fUsingDOSMemory.b           ; BOOL  Not used in Win32 applications. 
  wNumVideoRequested.l        ; UINT  Maximum number of video buffers to allocate. The memory area to place the buffers is specified with fUsingDOSMemory. The actual number of buffers allocated might be lower if memory is unavailable. 
  fCaptureAudio.b             ; BOOL  Capture audio flag. If this member is TRUE, audio is captured during streaming capture. This is the default value if audio hardware is installed. 
  wNumAudioRequested.l        ; UINT  Maximum number of audio buffers to allocate. The maximum number of buffers is 10. 
  vKeyAbort.l                 ; UINT  Virtual keycode used to terminate streaming capture. The default value is VK_ESCAPE. You must call the RegisterHotKey function before specifying a keystroke that can abort a capture session. 
                              ;       You can combine keycodes that include CTRL And SHIFT keystrokes by using the logical Or operator with the keycodes For CTRL (0x8000) And SHIFT (0x4000). 

  fAbortLeftMouse.b           ; BOOL  Abort flag for left mouse button. If this member is TRUE, streaming capture stops if the left mouse button is pressed. The default value is TRUE. 
  fAbortRightMouse.b          ; BOOL  Abort flag for right mouse button. If this member is TRUE, streaming capture stops if the right mouse button is pressed. The default value is TRUE. 
  fLimitEnabled.b             ; BOOL  Time limit enabled flag. If this member is TRUE, streaming capture stops after the number of seconds in wTimeLimit has elapsed. The default value is FALSE. 
  wTimeLimit.l                ; UINT  Time limit for capture, in seconds. This parameter is used only if fLimitEnabled is TRUE. 
  fMCIControl.b               ; BOOL  MCI device capture flag. If this member is TRUE, AVICap controls an MCI-compatible video source during streaming capture. MCI-compatible video sources include VCRs and laserdiscs. 
  fStepMCIDevice.b            ; BOOL  MCI device step capture flag. If this member is TRUE, step capture using an MCI device as a video source is enabled. If it is FALSE, real-time capture using an MCI device is enabled. (If fMCIControl is FALSE, this member is ignored.) 
  dwMCIStartTime.l            ; DWORD Starting position, in milliseconds, of the MCI device for the capture sequence. (If fMCIControl is FALSE, this member is ignored.) 
  dwMCIStopTime.l             ; DWORD Stopping position, in milliseconds, of the MCI device for the capture sequence. When this position in the content is reached, capture ends and the MCI device stops. (If fMCIControl is FALSE, this member is ignored.) 
  fStepCaptureAt2x.b          ; BOOL  Double-resolution step capture flag. If this member is TRUE, the capture hardware captures at twice the specified resolution. (The resolution for the height and width is doubled.) 
                              ;       Enable this option If the hardware does not support hardware-based decimation And you are capturing in the RGB format. 
  wStepCaptureAverageFrames.l ; UINT  Number of times a frame is sampled when creating a frame based on the average sample. A typical value for the number of averages is 5. 
  dwAudioBufferSize.l         ; DWORD Audio buffer size. If the default value of zero is used, the size of each buffer will be the maximum of 0.5 seconds of audio or 10K bytes. 
  fDisableWriteCache.b        ; BOOL  Not used in Win32 applications. 
  AVStreamMaster.l            ; UINT  Indicates whether the audio stream controls the clock when writing an AVI file. If this member is set to AVSTREAMMASTER_AUDIO, 
                              ;       the audio stream is considered the master stream And the video stream duration is forced To match the audio duration. If this member is set To AVSTREAMMASTER_NONE, the durations of audio And video streams can differ. 
EndStructure 


;========================================================================= 
; 
;- STRUCT CAPINFOCHUNK 
; 
; The CAPINFOCHUNK structure contains parameters that can be used 
; to define an information chunk within an AVI capture file. 
; The WM_CAP_FILE_SET_INFOCHUNK message or capSetInfoChunk macro is used 
; to send a CAPINFOCHUNK structure to a capture window. 
; 
;========================================================================= 


Structure FOURCC 
  
  dummy.l ; no info about it :( 
  
EndStructure 

Structure CAPINFOCHUNK 
  
  fccInfoID.FOURCC          ; FOURCC  Four-character code that identifies the representation of the chunk data. 
                            ;         If this value is NULL And lpData is NULL, all accumulated information chunks are deleted. 
  lpData.l                  ; LPVOID  Address of the data. If this value is NULL, all fccInfoID information chunks are deleted. 
  cbData.l                  ; LONG    Size, in bytes, of the data pointed to by lpData. 
                            ;         If lpData specifies a null-terminated string, use the string length incremented by one to save the NULL with the string. 
EndStructure 


;========================================================================= 
;- AVICAP LIBRARY MANAGEMENT 
;========================================================================= 

Procedure.l AVICap_LibOpen() 
  If hLib = #NULL 
    hLib = OpenLibrary( #AVICAP_LIB_INDEX, #AVICAP_LIB_NAME ) 
  EndIf 
  ProcedureReturn hLib 
EndProcedure 

Procedure.l AVICap_LibClose() 
  If hLib <> #NULL 
    CloseLibrary( #AVICAP_LIB_INDEX ) 
  EndIf 
EndProcedure 

Procedure.l AVICap_Create( ParentWindow.l, x.l, y.l, width.l, height.l, id.l ) 
  If AVICap_LibOpen() = #NULL 
    ProcedureReturn #FALSE 
  EndIf 
  If IsFunction( #AVICAP_LIB_INDEX, #AVICAP_FUNC_CREATE ) = #FALSE 
    ProcedureReturn #FALSE 
  EndIf 
  hCap = CallFunction( #AVICAP_LIB_INDEX, #AVICAP_FUNC_CREATE, "CaptureWindow", #WS_CHILD|#WS_VISIBLE, x, y, width, height, ParentWindow, id ) 
  ProcedureReturn hCap 
EndProcedure 

Procedure.l AVICap_GetDriverDescription( index.w, name.l, nsize.l, version.l, vsize.l ) 
  If AVICap_LibOpen() = #NULL 
    ProcedureReturn #FALSE 
  EndIf 
  If IsFunction( #AVICAP_LIB_INDEX, #AVICAP_FUNC_DRIVER ) = #FALSE 
    ProcedureReturn #FALSE 
  EndIf 
  ProcedureReturn CallFunction( #AVICAP_LIB_INDEX, #AVICAP_FUNC_DRIVER, index, name, nsize, version, vsize ) 
EndProcedure 

Procedure AVICap_GetDriverNumber() 
  For i=0 To 9 
    If AVICap_GetDriverDescription( i, #NULL, #NULL, #NULL, #NULL ) = #FALSE 
      ProcedureReturn i 
    EndIf 
  Next 
EndProcedure 


;========================================================================= 
;- AVICAP DRIVER MANAGEMENT 
;========================================================================= 


Procedure.b AVICap_DriverConnect( index.l ) 
  ProcedureReturn SendMessage_( hCap, #WM_CAP_DRIVER_CONNECT, index, #NULL ) 
EndProcedure 

Procedure.b AVICap_DriverDisconnect() 
  ProcedureReturn SendMessage_( hCap, #WM_CAP_DRIVER_DISCONNECT, #NULL, #NULL ) 
EndProcedure 

Procedure.b AVICap_DriverGetCaps( CapDriverCapsPtr.l, CapDriverCapsSize.l ) 
  ProcedureReturn SendMessage_( hCap, #WM_CAP_DRIVER_GET_CAPS, CapDriverCapsSize, CapDriverCapsPtr ) 
EndProcedure 

Procedure.b AVICap_DriverGetName( name.l, size.l ) 
  ProcedureReturn SendMessage_( hCap, #WM_CAP_DRIVER_GET_NAME, size, name ) 
EndProcedure 

Procedure.b AVICap_DriverGetVersion( version.l, size.l ) 
  ProcedureReturn SendMessage_( hCap, #WM_CAP_DRIVER_GET_VERSION, size, version ) 
EndProcedure 


;========================================================================= 
;- AVICAP DIALOG WINDOWS MANAGEMENT 
;========================================================================= 


Procedure.b AVICap_DlgVideoSource() 
  ProcedureReturn SendMessage_( hCap, #WM_CAP_DLG_VIDEOSOURCE, #NULL, #NULL ) 
EndProcedure 

Procedure.b AVICap_DlgVideoFormat() 
  ProcedureReturn SendMessage_( hCap, #WM_CAP_DLG_VIDEOFORMAT, #NULL, #NULL ) 
EndProcedure 

Procedure.b AVICap_DlgVideoDisplay() 
  ProcedureReturn SendMessage_( hCap, #WM_CAP_DLG_VIDEODISPLAY, #NULL, #NULL ) 
EndProcedure 

Procedure.b AVICap_DlgVideoCompression() 
  ProcedureReturn SendMessage_( hCap, #WM_CAP_DLG_VIDEOCOMPRESSION, #NULL, #NULL ) 
EndProcedure 


;========================================================================= 
;- AVICAP VARIOUS FUNCTIONS 
;========================================================================= 


Procedure.b AVICap_GetStatus( CapStatusPtr.l, CapStatusSize.l ) 
  ProcedureReturn SendMessage_( hCap, #WM_CAP_GET_STATUS, CapStatusSize, CapStatusPtr ) 
EndProcedure 

Procedure.b AVICap_Preview( bool.b ) 
  ProcedureReturn SendMessage_( hCap, #WM_CAP_SET_PREVIEW, bool, #NULL ) 
EndProcedure 

Procedure.b AVICap_PreviewRate( milliSecs.w ) 
  ProcedureReturn SendMessage_( hCap, #WM_CAP_SET_PREVIEWRATE, milliSecs, #NULL ) 
EndProcedure 

Procedure.b AVICap_PreviewScale( bool.b ) 
  ProcedureReturn SendMessage_( hCap, #WM_CAP_SET_SCALE, bool, #NULL ) 
EndProcedure 

Procedure.b AVICap_Overlay( bool.b ) 
  ProcedureReturn SendMessage_( hCap, #WM_CAP_SET_OVERLAY, bool, #NULL ) 
EndProcedure 

Procedure.b AVICap_SetScrollPos( PointPtr.l ) 
  ProcedureReturn SendMessage_( hCap, #WM_CAP_SET_SCROLL, #NULL, PointPtr ) 
EndProcedure 


;========================================================================= 
;- AVICAP CAPTURE MANAGEMENT 
;========================================================================= 


Procedure.b AVICap_CaptureAbort() 
  ProcedureReturn SendMessage_( hCap, #WM_CAP_ABORT, #NULL, #NULL ) 
EndProcedure 

Procedure.b AVICap_CaptureGetSetUp( CaptureParmsPtr.l, CaptureParmsSize.l ) 
  ProcedureReturn SendMessage_( hCap, #WM_CAP_GET_SEQUENCE_SETUP, CaptureParmsSize, CaptureParmsPtr ) 
EndProcedure 

Procedure.b AVICap_CaptureSetSetUp( CaptureParmsPtr.l, CaptureParmsSize.l ) 
  ProcedureReturn SendMessage_( hCap, #WM_CAP_SET_SEQUENCE_SETUP, CaptureParmsSize, CaptureParmsPtr ) 
EndProcedure 

Procedure.b AVICap_CaptureSequence() 
  ProcedureReturn SendMessage_( hCap, #WM_CAP_SEQUENCE, #NULL, #NULL ) 
EndProcedure 

Procedure.b AVICap_CaptureSequenceNoFile() 
  ProcedureReturn SendMessage_( hCap, #WM_CAP_SEQUENCE_NOFILE, #NULL, #NULL ) 
EndProcedure 

Procedure.b AVICap_CaptureSingleFrame() 
  ProcedureReturn SendMessage_( hCap, #WM_CAP_SINGLE_FRAME, #NULL, #NULL ) 
EndProcedure 

Procedure.b AVICap_CaptureSingleFrameClose() 
  ProcedureReturn SendMessage_( hCap, #WM_CAP_SINGLE_FRAME_CLOSE, #NULL, #NULL ) 
EndProcedure 

Procedure.b AVICap_CaptureSingleFrameOpen() 
  ProcedureReturn SendMessage_( hCap, #WM_CAP_SINGLE_FRAME_OPEN, #NULL, #NULL ) 
EndProcedure 

Procedure.b AVICap_CaptureStop() 
  ProcedureReturn SendMessage_( hCap, #WM_CAP_STOP, #NULL, #NULL ) 
EndProcedure 


;========================================================================= 
;- AVICAP CLIPBOARD MANAGEMENT 
;========================================================================= 


Procedure.b AVICap_EditCopy() 
  ProcedureReturn SendMessage_( hCap, #WM_CAP_EDIT_COPY, #NULL, #NULL ) 
EndProcedure 


;========================================================================= 
;- AVICAP GRAB MANAGEMENT 
;========================================================================= 


Procedure.b AVICap_GrabFrame() 
  ProcedureReturn SendMessage_( hCap, #WM_CAP_GRAB_FRAME, #NULL, #NULL ) 
EndProcedure 

Procedure.b AVICap_GrabFrameNoStop() 
  ProcedureReturn SendMessage_( hCap, #WM_CAP_GRAB_FRAME_NOSTOP, #NULL, #NULL ) 
EndProcedure 


;========================================================================= 
;- AVICAP AUDIO FORMAT MANAGEMENT 
;========================================================================= 


Procedure.b AVICap_GetAudioFormat( WaveFormatExPtr.l, WaveFormatExSize.l ) 
  ProcedureReturn SendMessage_( hCap, #WM_CAP_GET_AUDIOFORMAT, WaveFormatExSize, WaveFormatExPtr ) 
EndProcedure 

Procedure.b AVICap_GetAudioFormatSize() 
  ProcedureReturn AVICap_GetAudioFormat( #NULL, #NULL ) 
EndProcedure 

Procedure.b AVICap_SetAudioFormat( WaveFormatExPtr.l, WaveFormatExSize.l ) 
  ProcedureReturn SendMessage_( hCap, #WM_CAP_SET_AUDIOFORMAT, WaveFormatExSize, WaveFormatExPtr ) 
EndProcedure 


;========================================================================= 
;- AVICAP VIDEO FORMAT MANAGEMENT 
;========================================================================= 


Procedure.b AVICap_GetVideoFormat( BitmapInfoPtr.l, BitmapInfoSize.l ) 
  ProcedureReturn SendMessage_( hCap, #WM_CAP_GET_VIDEOFORMAT, BitmapInfoSize, BitmapInfoPtr ) 
EndProcedure 

Procedure.b AVICap_GetVideoFormatSize() 
  ProcedureReturn AVICap_GetVideoFormat( #NULL, #NULL ) 
EndProcedure 

Procedure.b AVICap_SetVideoFormat( BitmapInfoPtr.l, BitmapInfoSize.l ) 
  ProcedureReturn SendMessage_( hCap, #WM_CAP_SET_VIDEOFORMAT, BitmapInfoSize, BitmapInfoPtr ) 
EndProcedure 


;========================================================================= 
;- AVICAP USERDATA MANAGEMENT 
;========================================================================= 


Procedure.l AVICap_GetUserData() 
  ProcedureReturn SendMessage_( hCap, #WM_CAP_GET_USER_DATA, #NULL, #NULL ) 
EndProcedure 

Procedure.b AVICap_SetUserData( user.l ) 
  ProcedureReturn SendMessage_( hCap, #WM_CAP_SET_USER_DATA, #NULL, user ) 
EndProcedure 


;========================================================================= 
;- AVICAP MCI MANAGEMENT 
;========================================================================= 


Procedure.b AVICap_GetMCIDeviceName( name.s, size.l ) 
  ProcedureReturn SendMessage_( hCap, #WM_CAP_GET_MCI_DEVICE, size, name ) 
EndProcedure 

Procedure.b AVICap_SetMCIDeviceName( name.s ) 
  ProcedureReturn SendMessage_( hCap, #WM_CAP_SET_MCI_DEVICE, size, name ) 
EndProcedure 


;========================================================================= 
;- AVICAP FILE MANAGEMENT 
;========================================================================= 


Procedure.b AVICap_FileAlloc( size.l ) 
  ProcedureReturn SendMessage_( hCap, #WM_CAP_FILE_ALLOCATE, #NULL, size ) 
EndProcedure 

Procedure.b AVICap_FileSaveAs( name.s ) 
  ProcedureReturn SendMessage_( hCap, #WM_CAP_FILE_SAVEAS, #NULL, name ) 
EndProcedure 

Procedure.b AVICap_FileSaveDIB( name.s ) 
  ProcedureReturn SendMessage_( hCap, #WM_CAP_FILE_SAVEDIB, #NULL, name ) 
EndProcedure 

Procedure.b AVICap_FileGetCaptureFile( name.s, size.l ) 
  ProcedureReturn SendMessage_( hCap, #WM_CAP_FILE_SET_CAPTURE_FILE, size, name ) 
EndProcedure 

Procedure.b AVICap_FileSetCaptureFile( name.s ) 
  ProcedureReturn SendMessage_( hCap, #WM_CAP_FILE_SET_CAPTURE_FILE, #NULL, name ) 
EndProcedure 

Procedure.b AVICap_FileSetInfoChunck( CapInfoChunkPtr.l ) 
  ProcedureReturn SendMessage_( hCap, #WM_CAP_FILE_ALLOCATE, #NULL, CapInfoChunkPtr ) 
EndProcedure 


;========================================================================= 
;- AVICAP PALETTE MANAGEMENT 
;========================================================================= 


Procedure.b AVICap_PaletteAuto( iFrames.l, iColors.l ) 
  ProcedureReturn SendMessage_( hCap, #WM_CAP_PAL_AUTOCREATE, iFrames, iColors ) 
EndProcedure 

Procedure.b AVICap_PaletteManual( fGrab.l, iColors.l ) 
  ProcedureReturn SendMessage_( hCap, #WM_CAP_PAL_MANUALCREATE, fGrab, iColors ) 
EndProcedure 

Procedure.b AVICap_PaletteOpen( name.s ) 
  ProcedureReturn SendMessage_( hCap, #WM_CAP_PAL_OPEN, #NULL, name ) 
EndProcedure 

Procedure.b AVICap_PalettePaste() 
  ProcedureReturn SendMessage_( hCap, #WM_CAP_PAL_PASTE, #NULL, #NULL ) 
EndProcedure 

Procedure.b AVICap_PaletteSave( name.s ) 
  ProcedureReturn SendMessage_( hCap, #WM_CAP_PAL_SAVE, #NULL, name ) 
EndProcedure 


;========================================================================= 
;- AVICAP CALLBACK MANAGEMENT 
;========================================================================= 


Procedure.b AVICap_SetCallBackOnCapControl( procAddress.l ) 
  ProcedureReturn SendMessage_( hCap, #WM_CAP_SET_CALLBACK_CAPCONTROL, #NULL, procAddress ) 
EndProcedure 

Procedure.b AVICap_SetCallBackOnError( procAddress.l ) 
  ProcedureReturn SendMessage_( hCap, #WM_CAP_SET_CALLBACK_ERROR, #NULL, procAddress ) 
EndProcedure 

Procedure.b AVICap_SetCallBackOnFrame( procAddress.l ) 
  ProcedureReturn SendMessage_( hCap, #WM_CAP_SET_CALLBACK_FRAME, #NULL, procAddress ) 
EndProcedure 

Procedure.b AVICap_SetCallBackOnStatus( procAddress.l ) 
  ProcedureReturn SendMessage_( hCap, #WM_CAP_SET_CALLBACK_STATUS, #NULL, procAddress ) 
EndProcedure 

Procedure.b AVICap_SetCallBackOnVideoStream( procAddress.l ) 
  ProcedureReturn SendMessage_( hCap, #WM_CAP_SET_CALLBACK_VIDEOSTREAM, #NULL, procAddress ) 
EndProcedure 

Procedure.b AVICap_SetCallBackOnWaveStream( procAddress.l ) 
  ProcedureReturn SendMessage_( hCap, #WM_CAP_SET_CALLBACK_WAVESTREAM, #NULL, procAddress ) 
EndProcedure 

Procedure.b AVICap_SetCallBackOnYield( procAddress.l ) 
  ProcedureReturn SendMessage_( hCap, #WM_CAP_SET_CALLBACK_YIELD, #NULL, procAddress ) 
EndProcedure 


;========================================================================= 
;- AVICAP CALLBACK EXAMPLES 
;========================================================================= 


Procedure.b AVICap_CallbackOnCapControl( hWindow.l, wParam.l, lParam.l ) 
  Debug "CallBack.OnCapControl" : ProcedureReturn #TRUE 
EndProcedure 

Procedure.b AVICap_CallbackOnError( hWindow.l, wParam.l, lParam.l ) 
  Debug "CallBack.OnError" : ProcedureReturn #TRUE 
EndProcedure 

Procedure.b AVICap_CallbackOnFrame( hWindow.l, wParam.l, lParam.l ) 
  Debug "CallBack.OnFrame" : ProcedureReturn #TRUE 
EndProcedure 

Procedure.b AVICap_CallbackOnStatus( hWindow.l, wParam.l, lParam.l ) 
  Debug "CallBack.OnStatus" : ProcedureReturn #TRUE 
EndProcedure 

Procedure.b AVICap_CallbackOnVideoStream( hWindow.l, wParam.l, lParam.l ) 
  Debug "CallBack.OnVideoStream" : ProcedureReturn #TRUE 
EndProcedure 

Procedure.b AVICap_CallbackOnWaveStream( hWindow.l, wParam.l, lParam.l ) 
  Debug "CallBack.OnWaveStream" : ProcedureReturn #TRUE 
EndProcedure 

Procedure.b AVICap_CallbackOnYield( hWindow.l, wParam.l, lParam.l ) 
  Debug "CallBack.OnYield" : ProcedureReturn #TRUE 
EndProcedure 

Procedure.b AVICap_CallbackInitAll() 
  AVICap_SetCallBackOnCapControl ( @AVICap_CallBackOnCapControl()  ) 
  AVICap_SetCallBackOnError      ( @AVICap_CallBackOnError()       ) 
  AVICap_SetCallBackOnFrame      ( @AVICap_CallBackOnFrame()       ) 
  AVICap_SetCallBackOnStatus     ( @AVICap_CallBackOnStatus()      ) 
  AVICap_SetCallBackOnVideoStream( @AVICap_CallBackOnVideoStream() ) 
  AVICap_SetCallBackOnWaveStream ( @AVICap_CallBackOnWaveStream()  ) 
  AVICap_SetCallBackOnYield      ( @AVICap_CallBackOnYield()       ) 
EndProcedure 


;========================================================================= 
 
jai trpouver ce code