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

Bibliothèques Discussion :

[libsndfile] problème lecture/écriture


Sujet :

Bibliothèques

  1. #1
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Mars 2011
    Messages
    32
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mars 2011
    Messages : 32
    Points : 19
    Points
    19
    Par défaut [libsndfile] problème lecture/écriture
    Bonjour,
    Je suis en train de travailler sur des sounds .wav avec la librairie Libsndfile et j’ai un petit souci quand je veux extraire un bout de musique puis l’écrire dans un nouveau fichier.
    Sur mon interface graphique, j’affiche un graphique du son et l’utilisateur fait sa sélection grâce à deux marqueurs.
    Si on n’a pas déjà modifié le fichier original (audFile) on utilise le fichier temporaire (tempFile)
    J'ai vérifier les variables en déboguant et les valeurs sont bonnes. sf_readf_short et sf_writef_short retournent le nombre de frames qu'elles lisent/écrivent et c'est correct.

    Par contre, le résultat est finale est plus ou moins n'importe quoi, je me trouve avec un son d 800 000 frames pour une sélection d'environ 10 000 frames. Et la tête du graphique sortant n'est pas du tout ressemble à la sélection original.

    voici un petit exemple en image,
    Le son original :


    Après le traitement :



    Ma méthode :
    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
    26
    27
    28
    29
    30
    31
    32
     
    /*Méthode pour tout supprimer sauf la selection. Les paramètres begin et end correspondent au début et à la fin de la sélection.*/
    bool File::removeAllWithoutSelection(int begin, int end){
        //Je créer le fichier qui recevra la selection
        tempFile = sf_open(("Temp\\"+getFileName()).c_str(),SFM_RDWR,&tempInfo);
     
        int size=(end-begin)*audInfo.channels;
        short selection[size];
     
        //Je cherche quel fichier je dois utiliser
        if(useTemp && tempFile!=NULL){
            //On se place au début de la sélection
            sf_seek(tempFile,begin,SEEK_SET);
            //On lit les données et on les mets dans le tableau "selection"
            sf_readf_short(tempFile,selection,size);
        }
        else if(!useTemp && audFile!=NULL){
            sf_seek(audFile,begin,SEEK_SET);
            sf_readf_short(audFile,selection,size);
        }
        else{
            sf_close(tempFile);
            return false;
        }
     
        //on écrit le tableau dans le fichier
        sf_writef_short(tempFile,&selection[0],size);
        sf_command(tempFile,SFC_UPDATE_HEADER_NOW,NULL,0);
        sf_close(tempFile);
        useTemp=true;
        return true;
    }
    J'ai l'impression que mon tableau "selection" ne se remplit pas avec les nouvelles valeurs. Mais je ne sais pas comment je pourrais vérifier ça.

    Merci d'avance
    Bonne soirée

    Olivier

  2. #2
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Mars 2011
    Messages
    32
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mars 2011
    Messages : 32
    Points : 19
    Points
    19
    Par défaut
    Dans un sens ça me rassure si personne trouve, c'est que c'est pas si simple que ça

    Je pense que demain je vais un mail à l'auteur de la librairie

Discussions similaires

  1. Problèmes lecture/écriture bytea avec Postgresql
    Par Aldouille dans le forum JDBC
    Réponses: 2
    Dernier message: 15/03/2018, 12h51
  2. Problème lecture écriture par bloc dans un fichier
    Par scary dans le forum Débuter
    Réponses: 5
    Dernier message: 22/04/2009, 19h28
  3. Réponses: 4
    Dernier message: 23/10/2006, 16h17
  4. [PERL] Problème lecture/écriture dans un fichier
    Par LE NEINDRE dans le forum Langage
    Réponses: 4
    Dernier message: 17/08/2005, 13h15
  5. [communication série] problème lecture/écriture
    Par davinout dans le forum API, COM et SDKs
    Réponses: 9
    Dernier message: 01/06/2005, 13h14

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