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

API, COM et SDKs Delphi Discussion :

Fmod sur delphi 2009 compile mais pas de son


Sujet :

API, COM et SDKs Delphi

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Mai 2009
    Messages
    5
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2009
    Messages : 5
    Par défaut Fmod sur delphi 2009 compile mais pas de son
    Bonjour

    voila j'ai un gros probleme.
    je realiser avec 3 autre personne un jeu video
    j'ai codé un bout de code tout simple pour pouvoir jouer de la musique
    avec fmod.
    lorsque je le compile tout se passe bien mais il n'y a aucun son !!!!

    petit precision je suis sur delphi 2009.
    j'ai compiler mon code sur delphi 2007 et la magique sa marche nikel dc mon
    code ai bon.

    le probleme ai que je veu faire un moteur son avec fmod (trop facile) mais qu'aucun son ne sort quand je compile sur delphi 2009.

    vous me direz que je n'ai qu'a passer sur delphi 2007 !!! oui sa serai plus simple mais mon moteur son sera ajouter dans notre jeu qui a ete codé en opengl sur delphi 2009 donc il m'ai impossible de repasser sur delphi 2007
    a moin de tout refaire (enfin presque juste les dpr)


    svp A L'AIDE

  2. #2
    Membre confirmé
    Profil pro
    Inscrit en
    Mai 2009
    Messages
    69
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Mai 2009
    Messages : 69
    Par défaut
    Salut je suis nouveau mais je peux quand même t'aider.
    J'ai eu le même problème mais j'ai réussi à trouver le problème

    Voici un exemple

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    var
    FSYSTEM,FSOUND,FCHANNEL:Pointer;
     
    Fmod_System_Create(FSYSTEM);
    Fmod_System_Init(FSYSTEM,2,FMOD_INIT_NORMAL,0);
    Fmod_System_CreateStream(FSYSTEM,PAnsiChar(TonFichier),FMOD_UNICODE,NIL,FSOUND);
    Fmod_System_PlaySound(FSYSTEM,FMOD_CHANNEL_FREE,FSOUND,false,FCHANNEL);
    Verifies dans tes headers que les PChar soit remplacé par des PAnsiChar

  3. #3
    Membre à l'essai
    Profil pro
    Inscrit en
    Mai 2009
    Messages
    5
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2009
    Messages : 5
    Par défaut
    je ne comprend pas bien ton exemple.
    je code en delphi pas en C donc quand tu parle de headers je voi pas trop.

    voici mon coder qui marche, c'est a dire qu'il compile sens erreur mais il n'y a pas de son sur delphi 2009.
    (sur delphi 2007 ya du son)

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    var
      stream : PFSoundStream;
     
    begin
      FSOUND_Init(44100, 128, 0);
      stream := FSOUND_Stream_Open('track.mp3', 0, 0, 0);
      FSOUND_Stream_Play(FSOUND_FREE, stream);
      FSOUND_SetVolume(FSOUND_ALL, 255);
      Writeln('Play');
      Readln;
      FSOUND_Stream_Stop(stream);
      FSOUND_Stream_Close(stream);
    end.

  4. #4
    Membre confirmé
    Profil pro
    Inscrit en
    Mai 2009
    Messages
    69
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Mai 2009
    Messages : 69
    Par défaut
    Re,

    Je croyais que tu codais avec fmodex et pas avec fmod 3
    Mon exemple fonctionne avec fmodex désolé
    Quand je parlais des headers, je parlais des .pas (je confonds certains truc)
    ^^.

    NB:
    Voici la solution pour fmod 3;

    Ouvrir le fichier fmod.pas --> aller à

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    function FSOUND_Stream_Open(const name_or_data: PChar; Mode: Cardinal; Offset: Integer; Length: Integer): PFSoundStream; {$IFDEF LINUX} cdecl {$ELSE} stdcall {$ENDIF};
    remplacer tout simplement PChar par PAnsiChar (delphi 2009 utilise l'unicode)

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    function FSOUND_Stream_Open(const name_or_data: PAnsiChar; Mode: Cardinal; Offset: Integer; Length: Integer): PFSoundStream; {$IFDEF LINUX} cdecl {$ELSE} stdcall {$ENDIF};
    Le code suivant marche à présent parfaitement:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    procedure TForm1.FormCreate(Sender: TObject);
    var
    stream : PFSoundStream;
    begin
      FSOUND_Init(44100,32,0);
      stream := FSOUND_Stream_Open('ton fichier', 0, 0, 0);
      FSOUND_Stream_Play(FSOUND_FREE, stream);
    end;

  5. #5
    Membre à l'essai
    Profil pro
    Inscrit en
    Mai 2009
    Messages
    5
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2009
    Messages : 5
    Par défaut
    MERCI c vraiment geniale !!!!

    sa marche super.

Discussions similaires

  1. Réponses: 127
    Dernier message: 17/03/2014, 21h58
  2. Informations sur Delphi 2009
    Par Pedro dans le forum EDI
    Réponses: 1
    Dernier message: 24/09/2008, 00h57
  3. Excel Erreur 429 sur la version 97 mais pas 2002
    Par drthodt dans le forum Macros et VBA Excel
    Réponses: 12
    Dernier message: 19/06/2008, 17h06
  4. droit sur un dossier: écriture mais pas lecture
    Par boss_gama dans le forum Windows Serveur
    Réponses: 11
    Dernier message: 11/09/2007, 12h26
  5. Réponses: 1
    Dernier message: 13/10/2006, 13h52

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