Kezdőoldal » Számítástechnika » Programozás » Hogyan kell lejátszani zenét...

Hogyan kell lejátszani zenét a programban? (c#)

Figyelt kérdés

Van egy kódom:


for(int i=0;i<2,i+)

{

player.SoundLocation = @"hang.wav";

player.PlaySync();

További utasítások

}


Erre a kódra a progi, lejátsza kétszer a hangot, aztán csinálja csak meg a 2 utasítást. Mert úgy lenen, hoygy egy hang, után egy pb jelenik meg aztán megitn hang megint egy picturebox. Ehelyett 2 hang majd két pb egyszerre jelenik meg. :S mitől van ez? Köszönöm előre



2011. nov. 1. 17:25
1 2
 1/11 _Jessy_ ***** válasza:
azért mert ez a for ciklus blokkolja azt a szálat, ami az ablakot kezeli, így a picturebox frissítését csak azután fogod látni, miután a teljes kód lefutott, és az ablakot frissítő szál visszakapja a vezérlést
2011. nov. 1. 17:54
Hasznos számodra ez a válasz?
 2/11 A kérdező kommentje:
És, hogy lehet megcsinálni, hogy ne blokkolja?
2011. nov. 1. 18:04
 3/11 _Jessy_ ***** válasza:

külön szálon indítod el

System.Threading.Thread

2011. nov. 1. 18:57
Hasznos számodra ez a válasz?
 4/11 A kérdező kommentje:
És ezt pontosan, hogy kell használni?(szintaktikailag)
2011. nov. 1. 19:01
 5/11 _Jessy_ ***** válasza:

this.CheckForIllegalCrossThreadCalls = false;

System.Threading.ThreadStart start = new System.Threading.ThreadStart(worker);

System.Threading.Thread t = new System,Threading.Thread(start);

t.Start();

...


void worker()

{

//ide jön a hangot lejátszó kód

}

2011. nov. 1. 19:25
Hasznos számodra ez a válasz?
 6/11 A kérdező kommentje:
és az a 4-5 soros kód az hova megy?
2011. nov. 1. 19:32
 7/11 A kérdező kommentje:

Így jó?

System.Windows.Forms.Control.CheckForIllegalCrossThreadCalls = false;

System.Threading.ThreadStart start = new System.Threading.ThreadStart(worker);

System.Threading.Thread t = new System.Threading.Thread(start);

t.Start();


....

void worker()

{

player.SoundLocation = @"hang.wav";

player.Play();

}


(erre hibát ír ki: Please be sure a sound file exists at the specified location.)

2011. nov. 1. 19:36
 8/11 _Jessy_ ***** válasza:
igen. A hang.wav ott kell legyen az .exe mellett, és a lejátszáshoz írd a picturebox frissítését is.
2011. nov. 1. 20:12
Hasznos számodra ez a válasz?
 9/11 A kérdező kommentje:

nem jó valamit elszúrtam :S.

Úgy kéne, hogy a gomnyomásra bejön ez az 4 sor?

System.Windows.Forms.Control.CheckForIllegalCrossThreadCalls = false;

System.Threading.ThreadStart start = new System.Threading.ThreadStart(worker);

System.Threading.Thread t = new System.Threading.Thread(start);

t.Start();


és Lejjebbegy metódus meg akkor ez?

void worker()

{

for(int i=0;i<2,i+)

{

player.SoundLocation = @"hang.wav";

player.PlaySync();

További utasítások

}

}


Mert erre hibát ír ki. Am igen wav a fájlom. A playSync re írj ezt a hibát: Please be sure a sound file exists at the specified location.

2011. nov. 1. 20:21
 10/11 _Jessy_ ***** válasza:
ha azt írja, hogy nem találja, akkor valószínűleg nincs is ott... És ige, az egy metódus
2011. nov. 1. 20:53
Hasznos számodra ez a válasz?
1 2

Kapcsolódó kérdések:




Minden jog fenntartva © 2024, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu

A weboldalon megjelenő anyagok nem minősülnek szerkesztői tartalomnak, előzetes ellenőrzésen nem esnek át, az üzemeltető véleményét nem tükrözik.
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!