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

 C++ Discussion :

mettre une partie de buffer à 0


Sujet :

C++

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Inscrit en
    Mai 2010
    Messages
    18
    Détails du profil
    Informations forums :
    Inscription : Mai 2010
    Messages : 18
    Par défaut mettre une partie de buffer à 0
    Bonjour,

    j'ai un buffer que je rempli ainsi :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    m_headerbufferlen = m_wfx.nAvgBytesPerSec/20 * 2;
    for(int t=0; t<HDRCUNT; t++){
        CWaveHdr * phdr = new CWaveHdr();
        ZeroMemory(phdr, sizeof(CWaveHdr)); 
        phdr->lpData = new char[m_headerbufferlen];
        m_freeq.push(phdr);
    }
    et je souhaiterai forcer à 0 du début du buffer (pour l'instant) phdr juska la fin, 16bits à 0 et ainsi de suite tous les 16 bits.. coment faire cela?

    pour info, il s'agit d'un fichier wave, stéréo,16bits, et je veux forcer un canal à 0 afin de pouvoir en faire un fichier mono en forcant ensuite le canal à 0.
    Merci

  2. #2
    Rédacteur
    Avatar de 3DArchi
    Profil pro
    Inscrit en
    Juin 2008
    Messages
    7 634
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2008
    Messages : 7 634
    Par défaut
    Salut et bienvenu,
    A moins que CWaveHdr ne soit un type POD, j'ai peur que ce que tu demandes ne t'entraine vers quelque soucis. Une structure/classe C++ n'est pas une structure C.
    Si tu veux initialiser les membres de CWaveHdr, utilises un constructeur adéquat.

  3. #3
    Membre averti
    Inscrit en
    Mai 2010
    Messages
    18
    Détails du profil
    Informations forums :
    Inscription : Mai 2010
    Messages : 18
    Par défaut
    Mais je ne veux pas faire ca à l'initialisation, je veux faire un traitement à un moment donné.. et je me retrouve avec ce buffer à qui je doit mettre en gros la moitié des bits à zéro.. c'est pas possible??

  4. #4
    Rédacteur
    Avatar de 3DArchi
    Profil pro
    Inscrit en
    Juin 2008
    Messages
    7 634
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2008
    Messages : 7 634
    Par défaut
    quelle est la définition de CWaveHdr ?

  5. #5
    Membre averti
    Inscrit en
    Mai 2010
    Messages
    18
    Détails du profil
    Informations forums :
    Inscription : Mai 2010
    Messages : 18
    Par défaut
    la voila..

    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
    class CWaveHdr:
    public WAVEHDR{
     
    };
     
     
    /* wave data block header */
    typedef struct wavehdr_tag {
        LPSTR       lpData;                 /* pointer to locked data buffer */
        DWORD       dwBufferLength;         /* length of data buffer */
        DWORD       dwBytesRecorded;        /* used for input only */
        DWORD_PTR   dwUser;                 /* for client's use */
        DWORD       dwFlags;                /* assorted flags (see defines) */
        DWORD       dwLoops;                /* loop control counter */
        struct wavehdr_tag FAR *lpNext;     /* reserved for driver */
        DWORD_PTR   reserved;               /* reserved for driver */
    } WAVEHDR, *PWAVEHDR, NEAR *NPWAVEHDR, FAR *LPWAVEHDR;

  6. #6
    Membre averti
    Inscrit en
    Mai 2010
    Messages
    18
    Détails du profil
    Informations forums :
    Inscription : Mai 2010
    Messages : 18
    Par défaut
    ou bien copier tout ca dans un std::vector<int> buffer ? mais idem, comment faire cela? je vois pas comment acceder à mon buffer..

Discussions similaires

  1. mettre une partie de la page invisible.
    Par rainlily dans le forum ASP.NET
    Réponses: 2
    Dernier message: 06/08/2007, 13h25
  2. memcpy, memmove etc. d'une partie du buffer
    Par muquet dans le forum Débuter
    Réponses: 5
    Dernier message: 19/07/2007, 17h49
  3. [champ de saisie] Mettre une partie en gras
    Par popov2 dans le forum WinDev
    Réponses: 2
    Dernier message: 23/05/2007, 20h27
  4. [ListBox] Mettre une partie du texte d'un item en gras
    Par Sergio29 dans le forum Delphi
    Réponses: 2
    Dernier message: 28/01/2007, 19h55
  5. Excel : mettre une partie du contenu d'une cellule en gras
    Par cladsam dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 23/08/2006, 10h05

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