Autor Beitrag
max1761995
Hält's aus hier
Beiträge: 8



BeitragVerfasst: So 03.06.12 17:09 
ich habe ein wav file unter resourcen geladen die heisst : nightmare.wav

wie kann ich diese abspielen ?

ich habe es so versucht :

ausblenden C#-Quelltext
1:
2:
3:
4:
SoundPlayer sndplayr = new
SoundPlayer(PlayWavFiles.Properties.Resources.nightmare);

sndplayr.Play();


es funktioniert jedoch nicht :/

der fehler ist es erkennt PlayWavFiles nicht :/


danke für antworten

Moderiert von user profile iconChristian S.: C#-Tags hinzugefügt
Th69
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Moderator
Beiträge: 4764
Erhaltene Danke: 1052

Win10
C#, C++ (VS 2017/19/22)
BeitragVerfasst: So 03.06.12 19:28 
Hallo :welcome:

der SoundPlayer kann nur entweder eine Datei oder aber einen Stream abspielen - nicht direkt eine Resource (d.h. ein Byte-Array).
Abhilfe schafft hier die Klasse MemoryStream:
ausblenden C#-Quelltext
1:
2:
3:
4:
MemoryStream stream = new MemoryStream(resource);
SoundPlayer player = new SoundPlayer(stream);

player.Play();
daeve
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 116
Erhaltene Danke: 3

Windows (XP Pro, 7 Ultimate x64)
C#,WPF,Java,ASP.Net, VS 2010 Ultimate (x86)
BeitragVerfasst: So 03.06.12 19:38 
Wie hast du dein nightmare.wav hinzugefügt zu den Resourcen ? Wenn du das über Project --> Properties --> Resources machst kannst du danach nur mit:

ausblenden C#-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
class Sound
    {
        SoundPlayer mediaPlayer = new SoundPlayer(Properties.Resources.nightmare);

        public void playSound()
        {
            mediaPlayer.Play();
        }
        public void stopPlay()
        {
            mediaPlayer.Stop();
        }
    }


darauf zugreifen die Intellisense unterstützt dich da ja auch.
Ralf Jansen
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 4700
Erhaltene Danke: 991


VS2010 Pro, VS2012 Pro, VS2013 Pro, VS2015 Pro, Delphi 7 Pro
BeitragVerfasst: So 03.06.12 20:15 
Zitat:
der fehler ist es erkennt PlayWavFiles nicht :/


Ist der Namespace deiner Anwendung (oder Teil davon) den PlayWavFiles? Die konkrete Fehlermeldung wäre übrigens hilfreich sonst raten wir hier nur rum.
max1761995 Threadstarter
Hält's aus hier
Beiträge: 8



BeitragVerfasst: So 03.06.12 20:35 
ok hier die fehlermeldung zu der ersten antwort :)

Der Puffer darf nicht NULL sein.
Parametername: buffer

zu dem hier :

ausblenden C#-Quelltext
1:
2:
3:
4:
MemoryStream stream = new MemoryStream(resource);
            SoundPlayer player = new SoundPlayer(stream);

            player.Play();


meine datei heisst : nightmare.wav
und wurde unter ressources=> audio hinzugefügt
Th69
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Moderator
Beiträge: 4764
Erhaltene Danke: 1052

Win10
C#, C++ (VS 2017/19/22)
BeitragVerfasst: Mo 04.06.12 10:47 
Sorry, meine Antwort ist wohl nicht ganz richtig, da ich davon ausgegangen bin, daß nur ein Byte-Array zurückgegeben wird. Laut Internet-Recherche wird aber schon ein Stream zurückgegeben, so daß es wohl doch ohne den MemoryStream funktionieren müßte (also so wie in deinem Originalbeitrag).
Dann kann es wohl wirklich nur ein falsch angegebener Namensbereich (namespace) sein.