IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

VB.NET Discussion :

Problème affichage Webcam VB.NET


Sujet :

VB.NET

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Homme Profil pro
    Directeur de projet
    Inscrit en
    Avril 2016
    Messages
    12
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 31
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Directeur de projet

    Informations forums :
    Inscription : Avril 2016
    Messages : 12
    Par défaut Problème affichage Webcam VB.NET
    Bonjour à vous,

    J'ai un petit soucis, peut être que vous aurez une réponse, je ne trouve rien sur le net...

    Je développe un logiciel pour une tablette panasonic, j'ai besoin d'avoir accès son appareil photo dorsal et non frontal.

    Mon code marche bien, j'ai rien inventer j'utilise ce que tout le monde connais à savoir (ci-dessous le module) :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    Module modcam
     
        Public Const WM_CAP As Short = &H400S
        Public Const WM_CAP_DRIVER_CONNECT As Integer = WM_CAP + 10
        Public Const WM_CAP_DRIVER_DISCONNECT As Integer = WM_CAP + 11
        Public Const WM_CAP_EDIT_COPY As Integer = WM_CAP + 30
        Public Const WM_CAP_SET_PREVIEW As Integer = WM_CAP + 50
        Public Const WM_CAP_SET_PREVIEWRATE As Integer = WM_CAP + 52
        Public Const WM_CAP_SET_SCALE As Integer = WM_CAP + 53
        Public Const WS_CHILD As Integer = &H40000000
        Public Const WS_VISIBLE As Integer = &H10000000
        Public Const SWP_NOMOVE As Short = &H2S
        Public Const SWP_NOSIZE As Short = 1
        Public Const SWP_NOZORDER As Short = &H4S
        Public Const HWND_BOTTOM As Short = 1
        Public iDevice As Integer = 0
        Public hHwnd As Integer
     
        Public Declare Function SendMessage Lib "user32" Alias "SendMessageA" (ByVal hwnd As Integer, ByVal wmsg As Integer, ByVal wparam As Integer, <MarshalAs(UnmanagedType.AsAny)> ByVal lParam As Object) As Integer
        Public Declare Function SetWindowPos Lib "user32" Alias "SetWindowPos" (ByVal hwnd As Integer, ByVal hWndInsertAfter As Integer, ByVal x As Integer, ByVal y As Integer, ByVal cx As Integer, ByVal cy As Integer, ByVal wFlags As Integer) As Integer
        Public Declare Function DestroyWindow Lib "user32" (ByVal hndw As Integer) As Boolean
        Public Declare Function capCreateCaptureWindowA Lib "avicap32.dll" (ByVal lpszWindowName As String, ByVal dwStyle As Integer, ByVal x As Integer, ByVal y As Integer, ByVal nWidth As Integer, ByVal nHeight As Short, ByVal hWndParent As Integer, ByVal nID As Integer) As Integer
        Public Declare Function capGetDriverDescriptionA Lib "avicap32.dll" (ByVal wDriver As Short, ByVal lpszName As String, ByVal cbName As Integer, ByVal lpszVer As String, ByVal cbVer As Integer) As Boolean
     
    End Module
    Le problème est comme j'ai 2 caméras sur la tablette quand je lance le module, il me mets la fenêtre pour selectionner la caméra. (j'ai essayé de faire varier la variable pour le choix de la caméra, mais elles ont le même pilote)

    il y'aurait il un moyen par le code de mettre systhématiquement le 1er choix dans la fenêtre qui s'affiche qui est celle ci :

    Nom : Capture.PNG
Affichages : 497
Taille : 34,9 Ko

    Je ne sais pas si je me suis bien exprimé mais je sèche depuis 4H sur ce problème....

    PS : sur mon PC qui n'a qu'une seule webcam, la fenêtre de dialogue ne s'affiche pas. mes deux appareils sont sur Windows 10

  2. #2
    Membre Expert Avatar de Phil Rob
    Homme Profil pro
    Retraité
    Inscrit en
    Novembre 2013
    Messages
    1 613
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Novembre 2013
    Messages : 1 613
    Par défaut
    Comme tu ne montres pas le code du Form1, on ne peut que supposer ...

    Je suppose donc que la liste déroulante de présentation des périphériques est une ComboBox.
    Dans ce cas, si tu tu connais l'index de l'élément à afficher dans la partie Text, alors l'une ou l'autre des 2 lignes suivantes convient :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ComboBox1.Text = ComboBox1.Items(IndexSouhaite)
    ou
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ComboBox1.SelectedIndex = IndexSouhaite
    Les éléments d'une ComboBox sont indexés de 0 à Count-1. Le premier élément de la liste est donc à l'index 0.

    J'espère que ceci t'aidera ...

  3. #3
    Expert confirmé
    Avatar de ProgElecT
    Homme Profil pro
    Retraité
    Inscrit en
    Décembre 2004
    Messages
    6 132
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 69
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Retraité
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Décembre 2004
    Messages : 6 132
    Par défaut
    Salut

    La fenêtre "Source vidéo" est une fenêtre qui est lancé automatiquement par avicap32.dll, à ma connaissance pour avoir essayé pendant plusieurs jours de piloter cette fenêtre (avec des sendkeys), je n'y suis jamais parvenu.
    Je vais m'abonner à cette discussion car je serais content que quelqu'un puisse donner une solution.
    :whistle:pourquoi pas, pour remercier, un :plusser: pour celui/ceux qui vous ont dépannés.
    saut de ligne
    OOOOOOOOO👉 → → Ma page perso sur DVP ← ← 👈

  4. #4
    Inactif  

    Homme Profil pro
    Développeur .NET
    Inscrit en
    Janvier 2012
    Messages
    4 903
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 69
    Localisation : Canada

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Finance

    Informations forums :
    Inscription : Janvier 2012
    Messages : 4 903
    Billets dans le blog
    36
    Par défaut
    Bonjour,

    Une autre voie. (Le code est en VB.net)


    Sinon, tu peux aussi écrémer à partir de là (mais, il n'y a as pas juste du VB)

  5. #5
    Membre averti
    Homme Profil pro
    Directeur de projet
    Inscrit en
    Avril 2016
    Messages
    12
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 31
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Directeur de projet

    Informations forums :
    Inscription : Avril 2016
    Messages : 12
    Par défaut
    Phil Rob, comme le dis ProgElect, il ne s'agit pas d'une form que j'ai créer mais une forme système de Windows, dans laqu'elle j'aimerai forcé la valeur à 1.

    Car pour l'instant à part désactivé la caméra qui ne m'intéresse pas je ne vois pas d'autre solution.

    clementmarcotte, j'ai vu ces liens mais je souhaiterait éviter d'avoir library, ici ils utilise pas mal aforge.net, mais je pense que je vais m'y mettre à force j'attends de voir si quelqu'un à THE Solution !

    Merci à vous

  6. #6
    Membre averti
    Homme Profil pro
    Directeur de projet
    Inscrit en
    Avril 2016
    Messages
    12
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 31
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Directeur de projet

    Informations forums :
    Inscription : Avril 2016
    Messages : 12
    Par défaut
    Après multiple test et essai, insatisfaisants.... je suis passé avec Aforge.net et c'est carrément plus simple de contrôler les webcams.

    Pour ce que ça intéresse le bout de code utilisé, qui permet de renseigner une combo_box avec toutes les caméras branchées, à partir de ça il est simple de mettre une valeur de base :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    Imports AForge.Video
    Imports AForge.Video.DirectShow
    sub remplir_combo_box_du_nom_cbovideosource
     Dim MySingleDevice As FilterInfo
    'boucle pour récupérer le nom de mes sources vidéos
            If VideoDevices.Count = 0 Then
                cboVideoSource.Items.Add("Pas de caméra disponible")
            Else
                For Each MySingleDevice In VideoDevices
                    cboVideoSource.Items.Add(MySingleDevice.Name)
                Next
            End If
    'ici je choisi, si elle existe le nom de la webcam a selectionner, sinon je prends le premier de la combobox
            If cboVideoSource.Items.Contains("USB2.0 Camera") Then
                cboVideoSource.Text = "USB2.0 Camera"
            Else
                cboVideoSource.SelectedIndex = 0
            End If
    end sub

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [Débutant] problème affichage menu dans pages asp.net (côté code HTML et CSS)
    Par Sardonics dans le forum Développement Web avec .NET
    Réponses: 1
    Dernier message: 12/12/2016, 19h07
  2. [Débutant] Problème affichage liste déroulante cascade en C# / ASP.NET
    Par anisbenb dans le forum ASP.NET
    Réponses: 6
    Dernier message: 09/06/2014, 11h39
  3. Réponses: 24
    Dernier message: 09/04/2014, 12h03
  4. Réponses: 6
    Dernier message: 23/06/2013, 22h16
  5. VB.NET Problème affichage Label suite a Invoke
    Par maxSour dans le forum Développement Windows
    Réponses: 1
    Dernier message: 22/05/2013, 14h27

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo