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

SDL Discussion :

implémenter une timeline dans un lecteur audio. [SDL_mixer]


Sujet :

SDL

  1. #1
    Membre expérimenté
    Avatar de Luke spywoker
    Homme Profil pro
    Etudiant informatique autodidacte
    Inscrit en
    Juin 2010
    Messages
    1 077
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Etudiant informatique autodidacte

    Informations forums :
    Inscription : Juin 2010
    Messages : 1 077
    Points : 1 742
    Points
    1 742
    Par défaut implémenter une timeline dans un lecteur audio.
    Salut les SDL du jeu,

    Je suis entrain de développer un petit lecteur audio se basant sur SDL2_mixer.

    J'ai passer une bonne partie de la nuit a hacker, la doc et les en-têtes, de SDL2_mixer afin de trouver comment trouver la longueur d'un fichier audio avec.

    Et j'ai remarquer au passage entre les structures Mix_Music et Mix_chunk que SDL2_mixer est en partie basé sur libmiknod(2)...

    En faîtes, je ne suis pas bêtes au point de ne penser a la calculer mais seulement je ne trouve pas la définition de la structure Mix_Music !

    Extrait de du fichier d'en-têtes SDL2_mixer.h
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
     
     
    /* The internal format for an audio chunk */
    typedef struct Mix_Chunk {
        int allocated;
        Uint8 *abuf;
        Uint32 alen;
        Uint8 volume;       /* Per-sample volume, 0-128 */
    } Mix_Chunk;
     
    /** [...]  **/
     
    /* The internal format for a music chunk interpreted via mikmod */
    typedef struct _Mix_Music Mix_Music;
    et dans le fichier *.h de libmiknod qui semble être une library audio, de bas niveau.

    je n'ai rien trouver.

    Il me reste a faire le tour des fichiers inclus pour trouver la définition de la structure _Mix_Music, histoire de me promener.

    Sinon connaissez vous une (petite) library ou un moyen pour extraire les métadonnées d'un fichier audio qui ne sont pas accessible par stats(), comme la durée (info recherchée).

    Merci pour vos réponses éclairées.
    Pour faire tes armes:
    Use du présent pour construire ton futur sinon use de ce que tu as appris auparavant.
    Et sois toujours bien armé avant de te lancer.
    Le hasard ne sourit qu'aux gens préparés...
    Site: Website programmation international (www.open-source-projects.net)
    Site: Website imagerie 3D (www.3dreaming-imaging.net)
    Testez aux moins pendant une semaine l'éditeur avec terminaux intégrées it-edit Vous l'adopterai sûrement !
    FUN is HARD WORK !!!

  2. #2
    Responsable 2D/3D/Jeux


    Avatar de LittleWhite
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mai 2008
    Messages
    26 859
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Mai 2008
    Messages : 26 859
    Points : 218 580
    Points
    218 580
    Billets dans le blog
    120
    Par défaut
    Bonjour Luke spywoker ,

    Je tiens à rappeler que la SDL (SDL_mixer) permet de lire une multitude de format idiots. Parmi ceux-ci, le classique MP3, mais aussi des fichiers .mod qui sont des formats "séquence" (tracker). Calculer la longueur de ces deux types de formats ne se fait pas de la même façon et je pense que pour les fichiers "séquence", c'est loin d'être simple.
    Du coup, je pense que la SDL ne donne pas de méthode pour cela, faute de vraiment pouvoir le faire pour tous les formats. Enfin, il faudrait que je fasse une recherche pour confirmer cela.

    Sinon, pour l'exploration de sources, je vous conseille de lire mes tutoriels sur la SDL2 (le second, qui parle de l'ouverture de la fenêtre, ou peut être de l'affichage d'un sprite). J'avais expliqué comment la SDL avait été conçue, notamment, comment on peut faire une abstraction des structures en C (cas de la SDL_Surface).

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    /* The internal format for a music chunk interpreted via mikmod */
    typedef struct _Mix_Music Mix_Music;
    Ici, _Mix_Music est définit dans la bibliothèque, mais n'est pas exportée/visible dans les fichiers d'entêtes. L'utilisateur n'a pas du tout besoin de savoir ce que cela fait, ni d'accéder aux membres de la structure. Vous trouverez la définition dans les fichiers d'entêtes du code source de la SDL, les fichiers d'entêtes interne (non exporté).

    Bonne continuation
    Vous souhaitez participer à la rubrique 2D/3D/Jeux ? Contactez-moi

    Ma page sur DVP
    Mon Portfolio

    Qui connaît l'erreur, connaît la solution.

  3. #3
    Membre averti
    Homme Profil pro
    Ingénieur développement matériel électronique
    Inscrit en
    Juin 2012
    Messages
    257
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement matériel électronique
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2012
    Messages : 257
    Points : 321
    Points
    321
    Par défaut
    Bonjour,

    Sinon connaissez vous une (petite) library ou un moyen pour extraire les métadonnées d'un fichier audio qui ne sont pas accessible par stats(), comme la durée (info recherchée).
    Il y a FMOD si tu peux te permettre de charger le fichier dans un stream :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    duree = FSOUND_Stream_GetLengthMs(stream)/1000;

  4. #4
    Membre expérimenté
    Avatar de Luke spywoker
    Homme Profil pro
    Etudiant informatique autodidacte
    Inscrit en
    Juin 2010
    Messages
    1 077
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Etudiant informatique autodidacte

    Informations forums :
    Inscription : Juin 2010
    Messages : 1 077
    Points : 1 742
    Points
    1 742
    Par défaut
    Il y a FMOD si tu peux te permettre de charger le fichier dans un stream :
    De quelle library parle tu exactement ? SFML (add-on) ou peut tu préciser le nom de la lib s.t.p. Merci.
    Pour faire tes armes:
    Use du présent pour construire ton futur sinon use de ce que tu as appris auparavant.
    Et sois toujours bien armé avant de te lancer.
    Le hasard ne sourit qu'aux gens préparés...
    Site: Website programmation international (www.open-source-projects.net)
    Site: Website imagerie 3D (www.3dreaming-imaging.net)
    Testez aux moins pendant une semaine l'éditeur avec terminaux intégrées it-edit Vous l'adopterai sûrement !
    FUN is HARD WORK !!!

  5. #5
    Membre émérite Avatar de Cirrus Minor
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Mars 2014
    Messages
    953
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Allemagne

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Mars 2014
    Messages : 953
    Points : 2 612
    Points
    2 612
    Par défaut
    Citation Envoyé par Luke spywoker Voir le message
    De quelle library parle tu exactement ? SFML (add-on) ou peut tu préciser le nom de la lib s.t.p. Merci.
    Bah... FMOD (qui est une des bibliothèques audio les plus connues).

  6. #6
    Membre averti
    Homme Profil pro
    Ingénieur développement matériel électronique
    Inscrit en
    Juin 2012
    Messages
    257
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement matériel électronique
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2012
    Messages : 257
    Points : 321
    Points
    321
    Par défaut FMOD
    Bonjour Luke spywoker,

    Pour préciser : FMOD est une bibliothèque multiplateforme de gestion du son, pouvant être utilisée au travers de nombreux langages. Avec le lancement de la version 4.03 la bibliothèque a été renommée FMOD Ex.
    FMOD est gratuite pour une utilisation personnelle et non commerciale.

  7. #7
    Membre expérimenté
    Avatar de Luke spywoker
    Homme Profil pro
    Etudiant informatique autodidacte
    Inscrit en
    Juin 2010
    Messages
    1 077
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Etudiant informatique autodidacte

    Informations forums :
    Inscription : Juin 2010
    Messages : 1 077
    Points : 1 742
    Points
    1 742
    Par défaut
    Merci pour ces précisions,

    en tout cas FMOD n'est pas dans les dépôts d'Ubuntu:

    $ aptitude search libfmod

    ne retourne rien.

    Et qu'est que ca veut dire exactement usage personnel: peut on distribuer son projet ?
    Pour faire tes armes:
    Use du présent pour construire ton futur sinon use de ce que tu as appris auparavant.
    Et sois toujours bien armé avant de te lancer.
    Le hasard ne sourit qu'aux gens préparés...
    Site: Website programmation international (www.open-source-projects.net)
    Site: Website imagerie 3D (www.3dreaming-imaging.net)
    Testez aux moins pendant une semaine l'éditeur avec terminaux intégrées it-edit Vous l'adopterai sûrement !
    FUN is HARD WORK !!!

  8. #8
    Membre averti
    Homme Profil pro
    Ingénieur développement matériel électronique
    Inscrit en
    Juin 2012
    Messages
    257
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement matériel électronique
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2012
    Messages : 257
    Points : 321
    Points
    321
    Par défaut
    Et qu'est que ca veut dire exactement usage personnel: peut on distribuer son projet ?
    Il y a 2 types de license :
    - FMOD Non-Commercial License, which allows software not intended for commercial distribution to use FMOD for free.
    - FMOD Commercial License, licensed on a per-platform basis. Intended for commercial software and games.

    Fais une petite recherche internet pour en savoir plus ...

  9. #9
    Responsable 2D/3D/Jeux


    Avatar de LittleWhite
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mai 2008
    Messages
    26 859
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Mai 2008
    Messages : 26 859
    Points : 218 580
    Points
    218 580
    Billets dans le blog
    120
    Par défaut
    La bibliothèque FMOD n'est pas dans les paquets.
    Il faut la télécharger sur le site officiel et l'installer comme "bon vous semble" (souvent, il suffit de l'intégrer avec les fichiers du projet).
    Vous souhaitez participer à la rubrique 2D/3D/Jeux ? Contactez-moi

    Ma page sur DVP
    Mon Portfolio

    Qui connaît l'erreur, connaît la solution.

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

Discussions similaires

  1. Superposer une image et un lecteur audio
    Par Cvanhove dans le forum Mise en page CSS
    Réponses: 1
    Dernier message: 30/09/2014, 17h35
  2. Remplacer une image par un lecteur audio en un clic
    Par leloquens dans le forum Débuter
    Réponses: 6
    Dernier message: 10/07/2013, 11h36
  3. [XCode] Une timeline dans mon app
    Par Fannick dans le forum XCode
    Réponses: 1
    Dernier message: 26/10/2012, 23h14
  4. positionner la tete de lecture dans un lecteur pour une piste audio.
    Par stanilas dans le forum Général JavaScript
    Réponses: 0
    Dernier message: 16/07/2012, 09h59
  5. Détecter une disquette dans le lecteur
    Par bengign dans le forum Langage
    Réponses: 5
    Dernier message: 31/10/2004, 20h00

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