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

Interfaces Graphiques Discussion :

Problème d'incrémentation sur lecture wave


Sujet :

Interfaces Graphiques

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Inscrit en
    Avril 2008
    Messages
    51
    Détails du profil
    Informations forums :
    Inscription : Avril 2008
    Messages : 51
    Par défaut Problème d'incrémentation sur lecture wave
    Bonjour,

    Voilà je vous explique mon problème, j'ai un bouton "Suivant" qui doit augmenter la valeur "rWav" du programme :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    %Récupération de rWav depuis les données d'application de l'objet Figure
    rWav=getappdata(gcf,'numero_de_son');
     
    %Augmentation de la valeur rWav
    rWav=rWav+1;
     
    %Enregistrement de la nouvelle valeur de rWav dans les données
    %d'application de l'objet Figure
    setappdata(gcf,'numero_de_son',rWav);
    Cette valeur est ensuite reprise pour être lu avec le bouton "Lecture" :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    %Récupération de rWav,h et z depuis les données d'application de l'objet Figure
    rWav=getappdata(gcf,'numero_de_son');
    h=getappdata(gcf,'lecture_du_son');
    z=getappdata(gcf,'echantillon_du_son');
     
    %Lecture du fichier son concerné
    play(z);
    avec comme variable :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    rWav=0;
    h=wavread(sprintf('sound0%d.wav',rWav));
    z=audioplayer(h,11000);
    Il est normalement ainsi possible de lire une suite de son en en utilisant "Suivant", puis "Lecture".
    Cependant sur le programme, c'est toujours le même fichier qui est lu...
    Quelqu'un aurait il une solution à ce problème?

  2. #2
    Expert confirmé
    Avatar de Caro-Line
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    9 458
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2007
    Messages : 9 458
    Par défaut
    Citation Envoyé par Pedrozito Voir le message

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    rWav=0;
    h=wavread(sprintf('sound0%d.wav',rWav));
    z=audioplayer(h,11000);
    Il est normalement ainsi possible de lire une suite de son en en utilisant "Suivant", puis "Lecture".
    Cependant sur le programme, c'est toujours le même fichier qui est lu...
    Quelqu'un aurait il une solution à ce problème?
    Euh, il n'y a rien qui te choque ??
    un indice en gras rouge...c'est ça quand on a trop le nez dans son code

  3. #3
    Membre averti
    Inscrit en
    Avril 2008
    Messages
    51
    Détails du profil
    Informations forums :
    Inscription : Avril 2008
    Messages : 51
    Par défaut
    J'avoue ne pas bien saisir , le premier fichier son étant le 00.wav la variable rWav doit bien être égale à 0 au départ? Puis rWav=rWav+1 la fait augmenter de un par un.

    Je dois être aveugle là...

  4. #4
    Expert confirmé
    Avatar de Caro-Line
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    9 458
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2007
    Messages : 9 458
    Par défaut
    Dans ce cas il manque des bouts de code dans ce que tu nous a donné.
    A quel moment fais-tu la lecture des fichiers pour rWav >0 ?

  5. #5
    Membre averti
    Inscrit en
    Avril 2008
    Messages
    51
    Détails du profil
    Informations forums :
    Inscription : Avril 2008
    Messages : 51
    Par défaut
    Ca c'est la fonction principale en enlevant toute la partie création de uicontrols pour plus de lisibilité :

    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
    %Initialisation de la valeur réprensantant le numéro de son
    rWav=0;
     
    %Initialisation du son 1 et du son 2
    h=wavread(sprintf('sound0%d.wav',rWav));
    z=audioplayer(h,11000);
    h2=wavread(sprintf('sound10%d.wav',rWav));
    z2=audioplayer(h2,11000);
     
    %Enregistrement direct de rWav dans les données d'application de l'objet
    %Figure
    setappdata(gcf,'numero_de_son',rWav);
     
    %Enregistrement direct de h, h2 et de z, z2 dans les données d'application de
    %l'objet
    setappdata(gcf,'lecture_du_son',h);
    setappdata(gcf,'echantillon_du_son',z);
    setappdata(gcf,'lecture_du_son2',h2);
    setappdata(gcf,'echantillon_du_son2',z2);
    Voici la fonction Suivant :

    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
    %Récupération de rWav depuis les données d'application de l'objet Figure
    rWav=getappdata(gcf,'numero_de_son');
     
    %Augmentation de la valeur rWav
    rWav=rWav+1;
     
    %Récupération de l'identifiant de l'objet Uicontrol text Fichier résultat
    %enfant de l'objet Figure
    textF=findobj('parent',gcf,'style','text','tag','fichier');
     
    %Modification de sa propriété String
    set(textF,'string',sprintf('Fichier%d',rWav));
     
    %Enregistrement de la nouvelle valeur de rWav dans les données
    %d'application de l'objet Figure
    setappdata(gcf,'numero_de_son',rWav);
    Et la fonction Lecture :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    %Récupération de rWav,h et z depuis les données d'application de l'objet Figure
    rWav=getappdata(gcf,'numero_de_son');
    h=getappdata(gcf,'lecture_du_son');
    z=getappdata(gcf,'echantillon_du_son');
     
    %Lecture du fichier son concerné
    play(z);
    Normalement tout y est, je n'ai pas mis les autres fonctions du programme car elles n'interviennent pas dans cette action.

  6. #6
    Expert confirmé
    Avatar de Caro-Line
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    9 458
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2007
    Messages : 9 458
    Par défaut
    ??
    Euh ce n'est pas clair du tout du tout.
    Dès le début : comment est défini rWav.
    Les 4 premières lignes font 2 fois la même chose puisque rWav ne change pas entre h=..,z=... et h2=...

    Dans la fonction lecture au lieu de faire z=getappdata il faut faire la lecture là. Sinon z est fixe (il n'est pas dépendant de rWav) :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    rWav=getappdata(gcf,'numero_de_son');
    h=wavread(sprintf('sound0%d.wav',rWav));
    z=audioplayer(h,11000);
     
    %Lecture du fichier son concerné
    play(z);
    Je pense que ton erreur vient du fait que tu penses que h et z se mettent à jour quand rWav est mis à jour => ce n'est pas le cas, il faut les recalculer à chaque fois que tu incrémentes rWav.

Discussions similaires

  1. [Débutant] Problème à l'insertion sur base donné Access | Lecture Seule
    Par megibson dans le forum Windows Forms
    Réponses: 0
    Dernier message: 22/02/2014, 23h37
  2. [XL-2010] Problème libération mémoire sur lecture OnAction d'un shape
    Par DenisF dans le forum Macros et VBA Excel
    Réponses: 41
    Dernier message: 07/02/2013, 11h30
  3. Problème champ auto-incrément sur SQL Server 2000
    Par samirmember dans le forum Bases de données
    Réponses: 4
    Dernier message: 15/03/2010, 13h17
  4. Problème d'attribut de lecture seule sur des dossiers
    Par Redbull dans le forum Sécurité
    Réponses: 2
    Dernier message: 09/08/2005, 09h52
  5. [CR] Problème de sélection sur un champ date
    Par noluc dans le forum SAP Crystal Reports
    Réponses: 2
    Dernier message: 21/11/2003, 16h56

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