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

Windows Discussion :

TrackBar position wave API windows


Sujet :

Windows

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    45
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2008
    Messages : 45
    Points : 15
    Points
    15
    Par défaut TrackBar position wave API windows
    Bonjour,
    Je suis en train de coder une application qui traite les son .wav.
    J'ai un petit probleme avec la representation de la barre de progression du son.
    En effet, je voudrais representer une "trackbar" qui suis le son pendant qu'il s'execute.
    J'utilise le code suivant:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    // position du curseur (tous les 200ms) sur une echelle de 2000 unitÈs
    // int length=MP1->Length;
    MMTIME wavePosition;
    wavePosition.wType = TIME_MS;
    waveOutGetPosition(&projectWaveHandle, &wavePosition, sizeof(MMTIME));
    
    // DataSize is total size in bits
    // so we need position in bytes
    // pos is position in ms
    int pos = wavePosition.u.ms;
    
    Memo1->Lines->Add("pos: "+String(wavePosition.u.ms)+" DataSize: "+String(DataSize));
    Je m'attends a avoir une valeur de pos qui evolue, mais je me retrouve avec une constante. (Je l'affiche toutes les 200ms).

    Quelqu'un sait-il d'ou provient le probleme? et eventuellement comment le resoudre?

    Merci,

  2. #2
    Membre à l'essai
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    45
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2008
    Messages : 45
    Points : 15
    Points
    15
    Par défaut
    Après une petit journée de recherche, je pense que c'est surtout parce que l'on ne maîtrise pas assez l'extraction des données de la structure des wave. Quelqu'un sait-il comment lire correctement les données brutes qu'il y a dans le tableau de caractères DataChunk ? (on comprend la structure, mais comment récupérer des octets (bits) d'un tableau de caractères ?)

    Colin

  3. #3
    Membre à l'essai
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    45
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2008
    Messages : 45
    Points : 15
    Points
    15
    Par défaut
    Il suffisais de supprimer le passage par référence :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    waveOutGetPosition(projectWaveHandle, &wavePosition, sizeof(MMTIME));
    à la place de :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    waveOutGetPosition(&projectWaveHandle, &wavePosition, sizeof(MMTIME));

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

Discussions similaires

  1. Réponses: 29
    Dernier message: 14/01/2013, 10h40
  2. Rajouter des effets sur un Wave avec API windows
    Par joeyd dans le forum Windows
    Réponses: 0
    Dernier message: 12/01/2009, 16h56
  3. Manipulation de Wave avec l'API windows
    Par colin.sauvanet dans le forum Windows
    Réponses: 7
    Dernier message: 11/01/2009, 23h14
  4. tutoriel : La programmation de l'API Windows en C++ par Bob
    Par Aurelien.Regat-Barrel dans le forum Windows
    Réponses: 19
    Dernier message: 21/06/2008, 14h34
  5. Documentation gratuite sur l'API Windows, COM, DCOM, OLE, etc.
    Par Community Management dans le forum Windows
    Réponses: 1
    Dernier message: 16/11/2006, 15h28

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