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 :

Problème avec PlaySound [FAQ]


Sujet :

API, COM et SDKs Delphi

  1. #1
    Membre averti
    Inscrit en
    Décembre 2005
    Messages
    14
    Détails du profil
    Informations forums :
    Inscription : Décembre 2005
    Messages : 14
    Par défaut Problème avec PlaySound
    Salut à tous,

    J'explique brièvement mon problème : dans une classe je veux jouer des sons, j'utilise la méthode PlaySound de mmsystem.

    Voici la ligne que j'utilise :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    PlaySound('C:\*********.wav', handle,SND_ASYNC);
    J'ai fais une méthode de test, un Panel1Click qui joue bien le son quand je lui demande. Mais j'essaie de mettre le PlaySound dans une méthode de ma classe, méthode que j'appelle dans mon Panel1Click.
    A chaque fois que le son aurait dû être joué, je reçois l'erreur suivante :
    Project ***.exe raised exception class EAccessViolation with message 'Access Violation at address 00000000.
    Read of address 00000000'. Process stopped. Use Step or Run to continue.


    En bref, le PlaySound ne marche que dans la méthode Panel1Click et pas dans les autres méthodes de ma classe...

    Merci d'avance si vous avez une idée du problème...

    Ou s'il existe une autre méthode que PlaySound pour jouer des sons; qui n'ait pas ce genre de problème...

  2. #2
    Membre habitué
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    10
    Détails du profil
    Informations personnelles :
    Âge : 48
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 10
    Par défaut
    as-tu testé le TMediaPlayer ?
    si ton but est uniquement de jouer un fichier son,li est largement suffisant pour cela.
    Je n'ai pas ses caractéristiques en tête, mais tu dois définir le fichier que tu veux lire (soit dans le code, soit par un Topendialog), puis tu dispose de méthodes pour lire, pour te positionner dans ton fichier ...

    @+
    richard

  3. #3
    Membre averti
    Inscrit en
    Décembre 2005
    Messages
    14
    Détails du profil
    Informations forums :
    Inscription : Décembre 2005
    Messages : 14
    Par défaut
    Pour le TMediaPlayer, ayant pas mal de sons à jouer je ne sais pas si c'est la meilleure solution.

    Mais après une recherche sur internet (pourtant longtemps infructueuse), j'ai trouvé la solution, alors je la mets si jamais quelqu'un a le même problème :
    Il faut mettre HInstance en 2ème argument et le son se joue toujours semble-t-il, où qu'il soit dans le code. La ligne est donc :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    PlaySound('C:\*********.wav', HInstance, SND_ASYNC);
    (le SND_ASYNC dépend de ce qu'on veut)

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

Discussions similaires

  1. VC++ Direct3D8, problème avec LPD3DXFONT et LPD3DTEXTURE8
    Par Magus (Dave) dans le forum DirectX
    Réponses: 3
    Dernier message: 03/08/2002, 11h10
  2. Problème avec le type 'Corba::Any_out'
    Par Steven dans le forum CORBA
    Réponses: 2
    Dernier message: 14/07/2002, 18h48
  3. Problème avec la mémoire virtuelle
    Par Anonymous dans le forum CORBA
    Réponses: 13
    Dernier message: 16/04/2002, 16h10

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