2017-03-21 3 views
1

J'ai une musique de fond et je veux être en mesure de faire une pause/unpause ou mute/le rendre muet avec la pression d'un bouton. N'importe qui des suggestions? Merci d'avance. C'est ce que j'ai jusqu'à maintenant, mais je ne peux pas le faire fonctionner;Pause/Reprendre la musique de fond en C#

edit: J'ai utilisé WMP parce que vous ne pouvez pas mettre en pause dans SoundPlayer; puis fait un bool et le mettre sur false, puis utilisé cette boucle pour obtenir le bouton de travail

if (paused == false) 
     { 
      MusicPlayer1.controls.pause(); 
      paused = true; 
     } 
     else 
     { 
      MusicPlayer1.controls.play(); 
      paused = false; 
     } 

/

public Game() 
    { 
     GameHeigth = 45; // some other stuff 
     GameWidth = 45; 
     matrix = new Cube[15, 15]; 
     XObjects = new List<VObject>(); 
     rnd = new Random(); 

     InitializeComponent(); 
     GenerateField(); 
     NeighbourBase(); 
     StartGame(); 
     Muziek(); 

    } 


    private void Muziek() 
    { 
     System.Media.SoundPlayer player1 = new System.Media.SoundPlayer("liedje.wav"); 
     player1.PlayLooping(); 
    } 

private void PauseResumeButton_Click(object sender, EventArgs e) 
    { 
     Muziek.Player1.Pause(); //this doenst work 

    } 
+0

Peut-être voir [cette question] (http://stackoverflow.com/questions/19762734/c-sharp-using-soundplayer-to-pause-and-resume) –

Répondre

0

Je ne suis pas sûr si vous utilisez un programme WPF ou non, mais Si vous pouvez essayer d'utiliser un Media Element au lieu du SoundPlayer que vous utilisez. Le SoundPlayer est très limité et n'a pas beaucoup de fonctionnalités par rapport aux éléments média que C# fournit également.

0

Votre problème est probablement lié à la portée de l'objet player1 ici. player1 n'est pas disponible en dehors de votre méthode Muziek, essayez de le déclarer comme champ public et initialisez-le dans la méthode Muziek. mais pas assez d'informations dans votre question pour aider plus loin.

+0

Je l'ai déclaré public mais ça ne l'est toujours pas travail, je reçois 'Le nom' player1 'n'existe pas dans le contexte actuel'. Pourriez-vous me donner un exemple concret sur la façon dont je pourrais faire ce que vous suggérez s'il vous plaît? –

+0

Maintenant que j'ai regardé 'System.Media.SoundPlayer', il n'y a pas de méthode de pause. C'est une limitation. Vous devrez utiliser un cadre différent. utilisez-vous WPF? – Ahsan

+0

J'ai en effet utilisé Windows Media Player et la première partie fonctionnait, maintenant je dois comprendre comment programmer le bouton pour reprendre/mettre en pause. –