Entwickler-Ecke
Multimedia / Grafik - wav file über resourcen öfffnen und abspielen
max1761995 - So 03.06.12 17:09
Titel: wav file über resourcen öfffnen und abspielen
ich habe ein wav file unter resourcen geladen die heisst : nightmare.wav
wie kann ich diese abspielen ?
ich habe es so versucht :
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
Christian S.: C#-Tags hinzugefügt
Th69 - 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:
C#-Quelltext
1: 2: 3: 4:
| MemoryStream stream = new MemoryStream(resource); SoundPlayer player = new SoundPlayer(stream);
player.Play(); |
daeve - 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:
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 - 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 - 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 :
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 - 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.
Entwickler-Ecke.de based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2025 by Christian Stelzmann Alle Rechte vorbehalten.
Alle Beiträge stammen von dritten Personen und dürfen geltendes Recht nicht verletzen.
Entwickler-Ecke und die zugehörigen Webseiten distanzieren sich ausdrücklich von Fremdinhalten jeglicher Art!