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 :

DirectSound 8 - VB 2005 - Probleme ReadBuffer


Sujet :

VB.NET

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Nouveau candidat au Club
    Inscrit en
    Mai 2007
    Messages
    2
    Détails du profil
    Informations forums :
    Inscription : Mai 2007
    Messages : 2
    Par défaut DirectSound 8 - VB 2005 - Probleme ReadBuffer
    Bonjour,
    J'ai un probleme avec l'utilisation de la fonction DirectSoundCaptureBuffer.ReadBuffer.
    Mon projet est de récupérer ce qu'entend le micro dans un tableau.

    J'utilise VB 2005, DirectX8
    Voila le code que j'ai déjà créé :
    Dim DX As New DirectX8
    Dim DS As DirectSound8
    Dim DSC As DirectSoundCapture8
    Dim d As DirectSoundEnum8
    Dim DSCB As DirectSoundCaptureBuffer8
    Dim BufferDonnee() As Integer
    Dim Curseur As DxVBLibA.DSCURSORS

    Au chargement du programme je fais énuméré la liste des matériels :
    d = DX.GetDSCaptureEnum()
    Les matériels trouvés sont affichés dans une ComboBox.
    Puis je valide le choix du matériel par :
    DSC = DX.DirectSoundCaptureCreate(d.GetGuid(ComboBox1.SelectedIndex + 1))

    Plus loin je crée mon CaptureBuffer :
    DSCB = DSC.CreateCaptureBuffer(BufferDesc)
    Après avoir renseigné le paramètre BufferDesc bien entendu !

    Puis enfin par clique sur un bouton je lance la capture avec :
    DSCB.Start(CONST_DSCBSTARTFLAGS.DSCBSTART_LOOPING)

    et je récupère (ou plutot je tente, car là est mon problème) avec la méthode :
    DSCB.GetCurrentPosition(Curseur)
    ReDim BufferDonnee(Curseur.lWrite)
    DSCB.ReadBuffer(0, NbByte, BufferDonnee(0), CONST_DSCBLOCKFLAGS.DSCBLOCK_DEFAULT)

    Donc en gros je voudrais récupérer dans le tableau BufferDonnee() les acquisitions depuis le début du buffer jusque là où a dernière donnée a été enregistrée.

    Et voilà le message d'erreur que j'obtiens :
    "La référence d'objet n'est pas définie à une instance d'un objet" Kékidi ???
    Cela fait 4, 5 jours que je suis bloqué la dessus, je cherche partout sur le net et je ne trouve personne qui ait fait appel à cette méthode autrement.(je ne trouve surtout pas d'exemple en vb 2005). Car je rappelle que j'utilise vb2005 pour ce programme.

    J'ai fait des tests, je suis certain que mon pointeur n'est pas NULL.
    Si quelqu'un a une idée, qu'il n'hésite surtout pas à m'aider
    Je fais ce programme pour la fac, c'est un projet que je dois rendre dans un semaine !!
    J'espère avoir trouvé une solution d'ici là....

    Petit plus, je rencontre le meme probleme avec la fonction WriteBuffer !!!


    Merci d'avance !!! Bonne programmation .........

  2. #2
    Expert éminent Avatar de Pol63
    Homme Profil pro
    .NET / SQL SERVER
    Inscrit en
    Avril 2007
    Messages
    14 204
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : .NET / SQL SERVER

    Informations forums :
    Inscription : Avril 2007
    Messages : 14 204
    Par défaut
    quelle est la ligne où l'erreur survient ?
    as tu essayé de vérifier si variable is nothing tout simplement ?
    tout est bien instancié ?

    et pourquoi ne pas utiliser directX 9 ?
    Cours complets, tutos et autres FAQ ici : C# - VB.NET

  3. #3
    Nouveau candidat au Club
    Inscrit en
    Mai 2007
    Messages
    2
    Détails du profil
    Informations forums :
    Inscription : Mai 2007
    Messages : 2
    Par défaut
    La ligne qui me prose problème est celle du ReadBuffer !!
    C'est ici qu'apparait l'erreur d'instanciation.

    Normalement tout est bien instancié (je crois), le pointeur n'est pas NOTHING, j'ai fait des tests la dessus, de plus je le vois se déplacer dans le buffer avec la fonction GetStatus.

    La fonction WriteBuffer me génère la même erreur..... je suis vraiment a court d'idées.

    Pour ce qui est de DirectX9...et bien je n'ai pas trouvé de SDK pour DirectX9....

    Merci

  4. #4
    Expert éminent Avatar de Pol63
    Homme Profil pro
    .NET / SQL SERVER
    Inscrit en
    Avril 2007
    Messages
    14 204
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : .NET / SQL SERVER

    Informations forums :
    Inscription : Avril 2007
    Messages : 14 204
    Par défaut
    le sdk dx9 se trouve sur le site de microsoft, sur emule, sur google ...
    Cours complets, tutos et autres FAQ ici : C# - VB.NET

Discussions similaires

  1. [c#] [VS.2005]Probleme Showdialog()
    Par RideKick dans le forum Windows Forms
    Réponses: 5
    Dernier message: 30/10/2006, 10h07
  2. [vb.net 2005] Probleme avec DEBUG
    Par angelevil dans le forum Windows Forms
    Réponses: 2
    Dernier message: 31/08/2006, 15h53
  3. [SQL SERVER 2005] Probleme variable local
    Par nashouille dans le forum MS SQL Server
    Réponses: 1
    Dernier message: 09/05/2006, 11h16
  4. Réponses: 3
    Dernier message: 03/05/2006, 10h19
  5. Réponses: 4
    Dernier message: 19/10/2005, 23h30

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