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

DirectX Discussion :

repetition de sons avec Directshow


Sujet :

DirectX

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    27
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2006
    Messages : 27
    Par défaut repetition de sons avec Directshow
    Bonjour tout le monde,

    Alors voila Je voudrais avec directshow faire en sorte que quand j'appui sur une touche un son retentisse. Alors voila ce que j'ai fais j'usqu'a present:

    Je cre le son:

    int CSoundManager::CreateSound(char* filename)
    {
    //je cre un nouveau son
    snd = new CSound;

    //je passe mon filename en LPWSTR pour ensuite pouvoir faire le Renderfile
    size_t nSize1 = 1 + strlen( filename );
    LPWSTR file = new WCHAR[nSize1];
    mbstowcs( file, filename, nSize1 );

    //j'initialise le nom de fichier de mon son
    snd->Setfilename(file);

    HRESULT hr = m_graphBuilder->QueryInterface(IID_IMediaControl, (void **)&m_mediaControl);

    hr = m_graphBuilder->RenderFile(file, NULL);

    //je le passe dans mon vector de sons
    SoundVect.push_back(snd);

    //je retourne l'index du son
    return (int) SoundVect.size()-1;

    delete []file;
    }
    et apres a chaque fois que j'appui sur mon bouton je le joue comme ca:

    void CSoundManager::play(int index)
    {

    LPWSTR file = SoundVect.at(index)->Getfilename();

    hr = m_mediaControl->Run();

    }
    mais le probleme c'est que le son ne se joue que la premiere fois que j'appuie sur la touche...apres il ne se passe rien...

    Merci d'avance.

  2. #2
    Inactif  

    Homme Profil pro
    Ingénieur test de performance
    Inscrit en
    Décembre 2003
    Messages
    1 986
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Ingénieur test de performance
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Décembre 2003
    Messages : 1 986
    Par défaut
    Salut.

    ben pour rejouer le son, il faut le remettre au début...

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
     
     
    ...
     
      HRESULT  hr = m_graphBuilder->QueryInterface(IID_IMediaSeeking, (void **)&m_mediaSeek);
     
    ...
     
    hr = m_mediaControl->Stop();
     
    LONGLONG pos = 0LL;
    hr = m_mediaSeek->SetPositions(&pos, AM_SEEKING_AbsolutePositioning, NULL,  AM_SEEKING_NoPositioning);
     
        hr = m_mediaControl->Run();

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    27
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2006
    Messages : 27
    Par défaut
    ok merci bien...

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

Discussions similaires

  1. pbleme d'affraichissement d'image avec directshow
    Par lykim dans le forum DirectX
    Réponses: 4
    Dernier message: 17/03/2005, 09h08
  2. Problème de son avec xine
    Par boubajazz dans le forum Applications et environnements graphiques
    Réponses: 5
    Dernier message: 06/11/2004, 23h37
  3. problème de capture son avec Directshow
    Par albator83 dans le forum DirectX
    Réponses: 2
    Dernier message: 06/11/2003, 17h18
  4. [BORLAND 6][SON] son avec borland
    Par yohan dans le forum C++Builder
    Réponses: 6
    Dernier message: 31/08/2003, 22h56
  5. Gros Problème avec DirectShow et la méthode RELEASE
    Par Olivier Delmotte dans le forum DirectX
    Réponses: 3
    Dernier message: 10/03/2003, 18h10

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