23. januar 2006 - 20:07Der er
20 kommentarer og 1 løsning
C# Skal have musik i mit program. Hvordan gør jeg det?
Hej. Jeg vil gerne have noget hjælp til at lave såten at der er musik i mit program. Det skal være såten at man ikke behøver at tage en musik filen med programmet, for at det kan afspille Musikken. Men jeg kan ikke finde ud af hvordan man gør, såten at programmet kan afspille musik når man åbner det, uden at man skal have en musik fil til at følger med. Skrive hvis i ikke forstår mig. ;o)
Jeg kan ikke helt få det til at du men jeg har forstå det meste men det vil ikke som jeg vil. Her er den kode som jeg skal sætte det ind i.
/* * Created by SharpDevelop. * User: Dranzer * Date: 23-01-2006 * Time: 16:42 * * To change this template use Tools | Options | Coding | Edit Standard Headers. */ using System; using System.Collections.Generic; using System.Drawing; using System.Windows.Forms;
namespace Navne_ider { /// <summary> /// Description of MainForm. /// </summary> public class MainForm : System.Windows.Forms.Form { public MainForm() { // // The InitializeComponent() call is required for Windows Forms designer support. // InitializeComponent();
// // TODO: Add constructor code after the InitializeComponent() call. // }
Du mangler en "using System.Reflection;" i toppen....
System.Media.SoundPlayer sp = new System.Media.SoundPlayer(this.GetType().Assembly.GetManifestResourceStream("WindowsApplication3.files.collmusik.wav"));
Skal selvfølgelig afspejle dit projekt....
----------- WindowsApplication3 = Project navn files = Navne_ider collmusik.wav = filen ----------- Var bare for at forklare hvad du skulle skifte de variabler ud med i min kode.......
System.Media.SoundPlayer sp = new System.Media.SoundPlayer(this.GetType().Assembly.GetManifestResourceStream("<indsætprojektnavnher>.<foldernavnhvisdenikkeliggerirodenafprojektet>.collmusik.wav"));
Nok kun <indsætprojektnavnher> og <foldernavnhvisdenikkeliggerirodenafprojektet> du skal udskifte....
I den sti angiver et "."(punktum) til et /
Så hvis projekt navn er "testprojekt3" og filen ligger i roden, og er en embedded resource så ville det se sådan her ud.....
System.Media.SoundPlayer sp = new System.Media.SoundPlayer(this.GetType().Assembly.GetManifestResourceStream("testprojekt3.collmusik.wav"));
Det ser ud som om at man skal trykke på en knap i programmet får at få det til at spille musik. Mit program skal spille musik ligeså snart man åbner det. :o) Man skal ikke kunne stoppe musikken ved at trykke på en knap. Den skal bare spille når man åbner det. På forhånd tak. ;o)
Hej. Nu har jeg sat min kode op såten her.: Men det virker ikke.
/* * Created by SharpDevelop. * User: Dranzer * Date: 23-01-2006 * Time: 16:42 * * To change this template use Tools | Options | Coding | Edit Standard Headers. */ using System; using System.Collections.Generic; using System.Drawing; using System.Windows.Forms; using System.Reflection;
namespace Navne_ider { /// <summary> /// Description of MainForm. /// </summary> public class MainForm : System.Windows.Forms.Form { public MainForm() { // // The InitializeComponent() call is required for Windows Forms designer support. // InitializeComponent();
// // TODO: Add constructor code after the InitializeComponent() call. // }
Jeg hade ikke set det du hade skrevt :o): her som alex_sleiborg siger, smid den i FormLoad event, og skift sp.Play(); ud med, så skulle den gerne blive ved med at spille: sp.PlayLooping();
// ouT
OK ´så skifter jeg bare sp.Play(); ud med sp.PlayLooping(); ;o)
System.Media.SoundPlayer sp = new System.Media.SoundPlayer(this.GetType().Assembly.GetManifestResourceStream("Navne_ider.collmusik.wav"));
sp.Play(); } void MainFormLoad(object sender, System.EventArgs e) { sp.Play(); ud med, så skulle den gerne blive ved med at spille: sp.PlayLooping(); } }
Den kommer bare med så mange fejl den siger hele tiden der er fej i: void MainFormLoad(object sender, System.EventArgs e) Så er der også nogen fej andre steder. Med her MainFormLoad(object sender, System.EventArgs e) bliver den ved med at sige fejl. På forhånd tak. ;o)
Hej igen. :o) Jeg ved godt at jeg spørg meget men jeg er meget dårlig til det her programmering. Skal det her også være i koden her: using System.Reflection; ? Jeg har nu fået lave min kode så den ser såten her ud:
/* * Created by SharpDevelop. * User: Dranzer * Date: 23-01-2006 * Time: 16:42 * * To change this template use Tools | Options | Coding | Edit Standard Headers. */ using System; using System.Collections.Generic; using System.Drawing; using System.Windows.Forms; using System.Reflection;
namespace Navne_ider { /// <summary> /// Description of MainForm. /// </summary> public class MainForm : System.Windows.Forms.Form { public MainForm() { // // The InitializeComponent() call is required for Windows Forms designer support. // InitializeComponent();
// // TODO: Add constructor code after the InitializeComponent() call. // }
Hvad skal jeg gøre den vil ikke have noget at gøre med det her: void MainFormLoad(object sender, System.EventArgs e) når det er et andet sted i koden? Gider i lige kikke min kode igenne og sige om der er noget fejl? Tak ;o)
Tak for koden ;o) Den virker hvis. Men jeg kan ikke helt få det til at spille Musik. Den vil kun sige såten en dung lyd når man åbner programmet. Det ser ud til at det virker. Min musik fil hedder det her: collmusik.wav og mappe som den ligger i hedder: Navne ider. Så er der to mapper inde i Navne ider der er: bin og inde i den er der en mappe der hedder: Debug og der ind ligger programmet.
Så den ande mappe hedder: obj også inde i den mappe er der en mappe der hedder: Debug og der ind ligger programmet også. Men min musik fil ligger inde ved projektet. I mappe Nave ider. Skal den ikke ligge der?
Men jeg må lige hvid om jeg har gjort det her rigtig:
SoundPlayer sp = new SoundPlayer(this.GetType().Assembly.GetManifestResourceStream("WindowsApplication3.Navne_ider.collmusik.wav"));
FFS, det vi skriver virker, det er nok forkerte fil du henviser til........
har du prøvet at fjerne den kode som skulle afspille en lyd, og se om den "dong" lyd stadig kommer? hvis den gør, så virker det of du henviser til en forkert fil....
// ouT
Synes godt om
Ny brugerNybegynder
Din løsning...
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.