Por maldi666 , Martes 03 de junio de 2008 a las 05:12
wenas tengo que hacer una aplicacion que grabe video y audio y lo guarde en un archivo tiene que tener dos botones, he conseguido algo pero lo uncio que ace es sacar fotos y encima me da error al guardarla y al salir,es pal curro y estoy echo un lio y me an dicho que es pa dentro de 3 dias!!! pos eso aber si alguien me echa una manita porfi!
esto es lo que e echo,soy principiante asiq....no os asusteis:
'----> CÓDIGO CAPTURA DE FOTOS CON WEBCAM <----
'Declaraciones:
Const ws_visible = &H10000000
Const ws_child = &H40000000
Const WM_USER = 1024
Const WM_CAP_EDIT_COPY = WM_USER + 30
Const wm_cap_driver_connect = WM_USER + 10
Const wm_cap_set_preview = WM_USER + 50
Const wm_cap_set_overlay = WM_USER + 51
Const WM_CAP_SET_PREVIEWRATE = WM_USER + 52
Const WM_CAP_SEQUENCE = WM_USER + 62
Const WM_CAP_SINGLE_FRAME_OPEN = WM_USER + 70
Const WM_CAP_SINGLE_FRAME_CLOSE = WM_USER + 71
Const WM_CAP_SINGLE_FRAME = WM_USER + 72
Const DRV_USER = &H4000
Const DVM_DIALOG = DRV_USER + 100
Const PREVIEWRATE = 30
Private Declare Function SendMessage Lib "user32" Alias "SendMessageA" (ByVal hwnd As Long, ByVal wMsg As Long, ByVal wParam As Long, ByVal lparam As Long) As Long
Private Declare Function capCreateCaptureWindow Lib "avicap32.dll" Alias "capCreateCaptureWindowA" (ByVal a As String, ByVal b As Long, ByVal c As Integer, ByVal d As Integer, ByVal e As Integer, ByVal f As Integer, ByVal g As Long, ByVal h As Integer) As Long
Dim retval As Long
Dim loadStr As String
Dim hwndc As Long
'---->CAPTURAR LA IMAGEN DE LA CAM A JPEG<----
Private Declare Function DIWriteJpg Lib "DIjpg.dll" (ByVal DestPath As String, ByVal quality As Long, ByVal progressive As Long) As Long
Private Sub Command2_Click()
'Código que realiza la captura de la imagen:
temp = SendMessage(hwndc, WM_CAP_EDIT_COPY, 1, 0)
Set Picture4.Picture = Clipboard.GetData
'Initialize input path
loadStr = App.Path & "foto.jpg"
'Required by DIjpg.dll
SavePicture Picture4.Image, "C:tmp.bmp"
'Save to JPEG
retval = DIWriteJpg(loadStr, hshQual.Value, chkProg.Value) 'AQUI ES EL ERROR... dice QUE SE REQUIERE UN OBJETO
If retval = 1 Then 'Success
Picture4.Picture = LoadPicture(loadStr)
Else 'An error occured
MsgBox "DIWriteJpg did not succeed"
End If
'Remove temporary file
Kill "C:tmp.bmp"
End Sub
Private Sub hshQual_Change()
txtQual.Text = Str(hshQual.Value)
End Sub
' Fin de la Captura
Private Sub Command1_Click()
'Código que realiza la captura de la imagen:
temp = SendMessage(hwndc, WM_CAP_EDIT_COPY, 1, 0)
Set Picture2.Picture = Clipboard.GetData
End Sub
Private Sub Form_Load()
'Código que activa la captura de imágenes, se supone un formulario con 2 picture llamados "picture2" y "picture3")
hwndc = capCreateCaptureWindow("Ventana de Captura", ws_child Or ws_visible, 0, 0, Picture3.Width, Picture3.Height, Picture3.hwnd, 0)
If (hwndc <> 0) Then
temp = SendMessage(hwndc, wm_cap_driver_connect, 0, 0)
temp = SendMessage(hwndc, wm_cap_set_preview, 1, 0)
temp = SendMessage(hwndc, WM_CAP_SET_PREVIEWRATE, PREVIEWRATE, 0)
End If
End Sub
la alipacion esta tiene que tener 3 pictures,
picture2
picture3
picture4
y dos command
gracias!