Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum. Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

Sujet : webcam et micro [ Archives Visual Basic / J'AI BESOIN D'AIDE !!!! :) ] (hhhp2004)

samedi 29 janvier 2005 à 21:46:30 | webcam et micro

hhhp2004



hhhp2004

salut, je viens de finir un prog de chat et je me demandais si je peux faire en sorte que les 2 utilisateur puissent parler (au micro) et se voir (webcam)

Si cest possible, indiquez moi svp par ou commencer ...

merci

dimanche 30 janvier 2005 à 17:41:51 | Re : webcam et micro

olivier857

Membre Club

Voila déja un point de depart :
Avec ca devrais avoir un peu près tout ce qu'il te faut pour gérer l'envoie et la reception de l'image + un bouton pour capturer l'image.

<code>
Option Explicit

'Déclaration des fonctions pour le traitement des fichiers graphiques
Private Declare Function BmpToJpeg Lib "Bmp2Jpeg.dll" (ByVal BmpFilename As String, ByVal JpegFilename As String, ByVal CompressQuality As Integer) As Integer
Private Declare Function BitBlt Lib "gdi32.dll" (ByVal hdcDest As Long, ByVal nXDest As Long, ByVal nYdest As Long, ByVal nWidth As Long, ByVal nHeight As Long, ByVal hdcSrc As Long, ByVal nXSrc As Long, ByVal nYSrc As Long, ByVal dwRop As Long) As Long

'déclaration des fonctions pour la capture de l'image de la caméra
Private Declare Function capCreateCaptureWindow Lib "avicap32.dll" Alias "capCreateCaptureWindowA" (ByVal IpszWindowName As String, ByVal dwStyle As Long, ByVal X As Long, ByVal Y As Long, ByVal nWidth As Long, ByVal nHeight As Long, ByVal hwndParent As Long, ByVal nID As Long) As Long
Private Declare Function SendMessage Lib "USER32" Alias "SendMessageA" (ByVal hwnd As Long, ByVal wMsg As Long, ByVal wParam As Long, IParam As Any) As Long
Private Declare Function ReleaseCapture Lib "USER32" () As Long

'Déclaration des constantes
Private Const WM_CAP_DRIVER_CONNECT As Long = 1034
Private Const WM_CAP_DRIVER_DISCONNECT As Long = 1035
Private Const WM_CAP_GRAB_FRAME As Long = 1084
Private Const WM_CAP_EDIT_COPY As Long = 1054
Private Const WM_CAP_DLG_VIDEOFORMAT As Long = 1065
Private Const WM_CAP_DLG_VIDEOSOURCE As Long = 1066
Private Const WM_CLOSE = &H10

'Déclaration des variables nécessaires à l'utilisation des fonctions précédentes
Private mCapHwnd As Long

'Déclaration des variables pour le stockage mémoire des images
Dim ImageWebCam() As Byte

Private Sub Form_Load()    
    socklisten.LocalPort = 128
    socklisten.Listen
   
    'dimensionnement dynamique de l'objet MaWebCam en fonction de la taille de l'image
    MaWebCam.Width = 640 * Screen.TwipsPerPixelX
    MaWebCam.Height = 480 * Screen.TwipsPerPixelY
   
    'fenêtre virtuelle
    mCapHwnd = capCreateCaptureWindow("Ma fenêtre de capture", 0, 0, 0, 320, 240, Me.hwnd, 0)
    SendMessage mCapHwnd, WM_CAP_DRIVER_CONNECT, 0, 0       
End Sub

Private Sub Camera_Click()
    Timer.Enabled = True   
End Sub

Private Sub Capture_Click()
    'Pour cette ligne il te faut avoir la dll bmp2jpeg
    BmpToJpeg App.Path & "\tmpout.bmp", App.Path & "\tmpout.jpeg", 40
    MsgBox "Cliquez sur OK pour enregistrer l'image", vbOKOnly
    SavePicture MaWebCam, "tmpout.bmp"       
End Sub

Private Sub socklisten_ConnectionRequest(ByVal requestID As Long)
    sockclient.Accept requestID
End Sub

Private Sub Setting_Click()
    SendMessage mCapHwnd, WM_CAP_DLG_VIDEOFORMAT, 0, 0
End Sub

Private Sub Timer_Timer()
    SendMessage mCapHwnd, WM_CAP_GRAB_FRAME, 0, 0
    SendMessage mCapHwnd, WM_CAP_EDIT_COPY, 0, 0
    MaWebCam.Picture = Clipboard.GetData
    MaWebCam.Refresh
   
    Dim FREEout As Integer
    FREEout = FreeFile
    Open App.Path & "\tmpout.jpg" For Binary As #FREEout
        ReDim ImageWebCam(1 To LOF(FREEout))
        Get #FREEout, , ImageWebCam
    Close #FREEout       
End Sub

Private Sub sock_DataArrival(ByVal bytesTotal As Long)        
    Dim ImageWebcamDistante() As Byte
    Dim FREEin As Integer
   
    Winsock.GetData ImageWebcamDistante
   
    If Dir$(App.Path & "\tmpin.jpg") <> "" Then Kill App.Path & "\tmpin.jpg"
    FREEin = FreeFile
    Open App.Path & "\tmpin.jpg" For Binary As #FREEin
        Put #FREEin, , ImageWebcamDistante
    Close #FREEin
    webcamdistance.Picture = LoadPicture(App.Path & "\tmpin.jpg")
    webcamdistance.distance.Refresh
    DoEvents   
End Sub

Private Sub Form_Unload(Cancel As Integer)
    SendMessage mCapHwnd, WM_CAP_DRIVER_DISCONNECT, 0, 0   
End Sub
<\code>

Voila bonne prog. a toi !

Olivier


dimanche 30 janvier 2005 à 17:51:42 | Re : webcam et micro

hhhp2004



hhhp2004

wooooooooooow

je vais esseyer de comprendre ton code (cest un peu plus que mon niveau de connaissence vb actuel).

mais je nai pas compris une chose : commant tu fais pour prendre limage du web cam ?

merci davoir repondu

dimanche 30 janvier 2005 à 20:41:19 | Re : webcam et micro

hhhp2004



hhhp2004

salut,

jai essyé ton code MAIS : quand je quitte le prog, vb6 plante completement ! je suis oblige de faire ALT+CTRL+DEL pour fermer ...

autre chose : quand je clique sur le bouton camera et le timer a la propriete enabled=true

Private Sub Timer_Timer()
    SendMessage mCapHwnd, WM_CAP_GRAB_FRAME, 0, 0
    SendMessage mCapHwnd, WM_CAP_EDIT_COPY, 0, 0
    MaWebCam.Picture = Clipboard.GetData
    MaWebCam.Refresh
   
    Dim FREEout As Integer
    FREEout = FreeFile
    Open App.Path & "\tmpout.jpg" For Binary As #FREEout
        ReDim ImageWebCam(1 To LOF(FREEout)) 'il y a une erreur sur cette 'ligne, "Subscript out of range"
        Get #FREEout, , ImageWebCam
    Close #FREEout  


End Sub


merci

dimanche 30 janvier 2005 à 22:30:47 | Re : webcam et micro

olivier857

Membre Club
Si il plante completement c'est parceque le driver de la webcam c'est mal deconnecter.

Lorsque que tu n'aura plus d'erreur la deconnexion du driver ce fera correctement.

Cette deconnexion ce fait dans le form_unload de la page, donc si vb plante avant d'arriver au form_unload la deconnexion ce fais mal.

dimanche 30 janvier 2005 à 22:35:13 | Re : webcam et micro

olivier857

Membre Club

Tiens essaye deja ca c'est plus simple, mais ca te permet uniquement de regarder ta webcam a toi sur ton pc.

Ca t'aiderai a mieux comprendre, tu passera a la suite après.



Option Explicit

'Déclaration des fonctions pour le traitement des fichiers graphiques
Private Declare Function BmpToJpeg Lib "Bmp2Jpeg.dll" (ByVal BmpFilename As String, ByVal JpegFilename As String, ByVal CompressQuality As Integer) As Integer
Private Declare Function BitBlt Lib "gdi32.dll" (ByVal hdcDest As Long, ByVal nXDest As Long, ByVal nYdest As Long, ByVal nWidth As Long, ByVal nHeight As Long, ByVal hdcSrc As Long, ByVal nXSrc As Long, ByVal nYSrc As Long, ByVal dwRop As Long) As Long

'déclaration des fonctions pour la capture de l'image de la caméra
Private Declare Function capCreateCaptureWindow Lib "avicap32.dll" Alias "capCreateCaptureWindowA" (ByVal IpszWindowName As String, ByVal dwStyle As Long, ByVal X As Long, ByVal Y As Long, ByVal nWidth As Long, ByVal nHeight As Long, ByVal hwndParent As Long, ByVal nID As Long) As Long
Private Declare Function SendMessage Lib "USER32" Alias "SendMessageA" (ByVal hwnd As Long, ByVal wMsg As Long, ByVal wParam As Long, IParam As Any) As Long
Private Declare Function ReleaseCapture Lib "USER32" () As Long

'Déclaration des constantes
Private Const WM_CAP_DRIVER_CONNECT As Long = 1034
Private Const WM_CAP_DRIVER_DISCONNECT As Long = 1035
Private Const WM_CAP_GRAB_FRAME As Long = 1084
Private Const WM_CAP_EDIT_COPY As Long = 1054
Private Const WM_CAP_DLG_VIDEOFORMAT As Long = 1065
Private Const WM_CAP_DLG_VIDEOSOURCE As Long = 1066
Private Const WM_CLOSE = &H10

'Déclaration des variables nécessaires à l'utilisation des fonctions précédentes
Private mCapHwnd As Long

'Déclaration des variables pour le stockage mémoire des images
Dim ImageWebCam() As Byte

Private Sub Camera_Click()
   
    Timer1 = True
   
End Sub

Private Sub Capture_Click()
   
    SavePicture MaWebCam, App.Path & "\tmpout.bmp"
    BmpToJpeg App.Path & "\tmpout.bmp", App.Path & "\tmpout.jpg", 40
   
End Sub



Olivier


lundi 31 janvier 2005 à 00:02:13 | Re : webcam et micro

hhhp2004



hhhp2004

salut,

jai deja modifier le code pour regarder la webcam juste sur mon pc, je le fais a travers le timer et non a travers le fichier image ... apres avoir modifier le code vb ne plantait plus

je crois que cest trop te demander mais tu surais pas aussi commant faire avec la conversation (microphone) ?

ton code est une mine dor

merci

lundi 31 janvier 2005 à 00:14:35 | Re : webcam et micro

olivier857

Membre Club
Non j'ai jamais vu comment faire pour le microphone désolé.

Mais cherche sur ce forum, je pense que tu devrais trouver ca.

Il doit certainement également exister des API de windows te donnant accès aux reglages microphone de windows, tout comme pour la webcam.

Bonne chance

olivier

jeudi 30 juin 2005 à 14:55:01 | .ocx

calipso

Salut, j'étudie le language VB et j'ai pas bien compris l'utilités des fichiers .ocx.
S'il y'on a une bref discription mersi de me donnée une idée.


salut à tous les programmeurs

lundi 18 juillet 2005 à 13:54:25 | Re : webcam et micro

webooking

Bonjour

Nous venons de créée un module webcam chat modifiable selon la demande, le webcam chat est en flash, et en module php dans quelque heures, également possibilité ifram.

Vous pouvez également gérer le flux vidéo et audio

pour info telechargement   admin@videolivenet.be



Cette discussion est classé dans : webcam, micro


Répondre à ce message

Sujets en rapport avec ce message

micro webcam [ par dieulepere666 ] salut tous le mondevoila j ai un probleme existencielje cherche à récuperer le flux audio du micro de ma webcam et de le lire en temps réel.J'attend v Webcam [ par Triboutmatthieu ] Bonjour,amis dévelloppeurs.J'ai beaucoup  apprendre, c'est pour ça que je vous pose toujours des questions. Voici mon soucis;J'ai une form et un panel API pour micro [ par Joke758 ] Bonjour,J'ai longtemps chercher sur google pour trouver un API qui capte les hertz que le micro entend, mais je n'ai rien trouvé. Es-ce quelqu'un conn Prendre une photo avec Avicap32.dll? [ par ninja hacker ] Bonjour!Je suis prit avec un probleme au quelle je ne trouve pas la solution... Mon but finale est de pouvoir prendre une photo a partir de la webcam Enregister le micro en directX [ par pape0 ] Pour une de mes applications je suis à la recherche d'une méthode pour enregistrer le Microphone en directX. Aller voir ces sites http://www.pape-bleu Enregistrer le micro et diffuser sur le web. [ par seltsam ] Bonjour, je cherche comment créer un programme qui enregisterais mon micro et qui le diffuserais en streaming sur le web. J'ai chercher un programme d Analyse de spectre [ par ninja hacker ] Bonjour!Je travailler présentement sur un projet d'expo science a mon école et j'aurais besoin d'aide pour un code. Ce que je veux faire c'est analyse webcam + vb.net+Access [ par chifo_4 ] Bonjour ceci est un message urgent je suis un déutant en développement le souci est que je veux un programme qui capt l'image d'un WEBCAM et le Stock commande click [ par patryk57 ] Hello à tous les rois de la programmation!!Je suis débutant en visual basic, et j'aimerais que lorsque l'on appuie sur un bouton, une action soit prod Webcam [ par jpv1 ] Bonjour,J'ai développé une application (un superviseur) avec 2 webcams et pour cela, j'utilise la DLL AVICAP32. Tout fonctionne bien sauf l'arrêt du s


Nos sponsors

Sondage...

CalendriCode

Juillet 2009
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
2728293031  

Consulter la suite du CalendriCode

Comparez les prix Nouvelle version

Photothèque Nouveau !



Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés
Temps d'éxécution de la page : 0,437 sec

Google Coop CodeS-SourceS Google Coop CodeS-SourceS


Certaines images présentes sur le site (notament certains avatars) sont issues des collections IconShock, donc si vous souhaitez utiliser ces icons vous devez les acheter, ne les copiez pas et ne utilisez pas dans vos sites et applications sans les avoir commandé.