Stránka 1 z 1

C# - Jak zastavit hudbu zapomocí bool

Napsal: 20 kvě 2014 18:57
od SvanXYZ
Dobrý den, narazil jsem na menší problém, programuji soukromý projekt, ve kterém si jen testuji znalosti programování.

Ted k problému - přikládám část kodu.

Kód: Vybrat vše

public static int CisloHudby = 0;
public static bool HudbaHraje = true;

public static void Main()
      {
            
         Engine engine = new Engine(); //Deklarace třídy Engine
               
         Hudba();
         
         engine.Intro(); // Spustí Intro - v metode intro není hudba.
         
         Thread.Sleep(300);
         HudbaHraje = false;   
            
      }
      
      private static void Hudba()
      {
      SoundPlayer player0 = new SoundPlayer(@"c:\Allegretto.wav");
      switch (CisloHudby) {
         case 0:
            
            player0.Play();
            
            if(HudbaHraje == false){
               
            player0.Stop();
            }
                        
            break;


Mím cílem bylo, že bych ovlivnoval zda hudba hraje zapomocí true/false, ale zatim to něják nesplnuje mé očekávání.

Myslím si že chybe je v deklaraci bool a že tou chybou je ono slovo "static", každopádně při odstranění vyžaduje odkaz na objekt a proto sem píšu, abych se dozvěděl jak to vyřešit.

Re: C# - Jak zastavit hudbu zapomocí bool

Napsal: 21 kvě 2014 12:36
od CZechBoY
Zdravím,
to bys musel volat znova proceduru Hudba, nikde jinde nevidím práci s přehrávačem. No navíc vidím, že v tý proceduře Hudba vytváříš novej přehrávač - takže ten už vypnout nepůjde.

Já bych si udělal objekt Prehravac a dal mu metody Hraj(), Hraj(string cesta), Hraj(int CisloHudby), Pauza(), Stop(). Je to vlastně taková abstrakce nad SoundPlayer, jen s českými metodami :D