Benutzer mit den meisten Antworten
SoundPlayer Lautstärke verändern

Frage
-
HI
Ich arbeite im Moment an einem kleinen Spiel bei dem ich per SoundPlayer einen Hintergrund Soundtrack abspielen möchte. das klappt auch wunderbar aber leider weiß ich nicht wie ich die Lautstärke des Players verändern kann. Ich hab dann mal ein bisschen (4 Stunden) im Internet gesucht aber leider nur Lösungsmöglichkeiten gefunden bei denen die Lautstärke der gesamten Anwendung verändert wird. Das kommt für mich aber nicht in Frage da ich die Lautstärke des SoundPlayers für die Hintergrundmusik und die des Soundplayers für die SoundEffekte seperat verändern können möchte. Falls jemand eine Idee hat wär ich sehr dankbar :)
Yoghurt42
Antworten
-
Hallo,
soweit ich das Momentan erfassen kann, ist es nicht möglich für die SoundPlayer-Klasse eine Lautstärke festzulegen. Das liegt daran, dass die Klasse auf die Windows API zuzugreifen scheint. Es gibt aber noch andere Möglichkeiten einen Sound abzuspielen:- Über das WPF Control
MediaPlayer. Füge dazu einen Verweis auf PresentationCore und WindowsBase
hinzu. Dann kannst du diesen Code verwenden:
MediaPlayer mp = new MediaPlayer(); private void Form1_Load(object sender, EventArgs e) { mp.Open(new Uri(@"A:\Melodie\Success.wav")); mp.Play();
mp.Volume = 0.5;//50% Lautstärke mp.MediaEnded += (s2, e2) => { mp.Stop(); mp.Play(); };//Diese Zeilen sorgen für eine Dauerschleife } - Eine Weitere Möglichkeit wäre der Einsatz des MediaElements. Hier gilt alles von 1. und zusätzlich ein Verweis auf PresentationFramework.
- Du benutzt den Windows Media Player. Siehe dazu:
Embedding the Windows Media Player Control in a C# Solution - Benutze eine Thirdparty-Komponente. Davon gibt es jede Menge im Internet. Einfach mal danach suchen.
Koopakiller [kuːpakɪllɐ] (Tom Lambert)
Webseite |
Code Beispiele |
Facebook |
Twitter |
Snippets
C# ↔ VB.NET Konverter
Markiert bitte beantwortende Posts als Antwort und bewertet Beiträge. Danke.- Als Antwort markiert Yoghurt42 Freitag, 24. Januar 2014 13:01
- Über das WPF Control
MediaPlayer. Füge dazu einen Verweis auf PresentationCore und WindowsBase
hinzu. Dann kannst du diesen Code verwenden:
Alle Antworten
-
Hallo,
soweit ich das Momentan erfassen kann, ist es nicht möglich für die SoundPlayer-Klasse eine Lautstärke festzulegen. Das liegt daran, dass die Klasse auf die Windows API zuzugreifen scheint. Es gibt aber noch andere Möglichkeiten einen Sound abzuspielen:- Über das WPF Control
MediaPlayer. Füge dazu einen Verweis auf PresentationCore und WindowsBase
hinzu. Dann kannst du diesen Code verwenden:
MediaPlayer mp = new MediaPlayer(); private void Form1_Load(object sender, EventArgs e) { mp.Open(new Uri(@"A:\Melodie\Success.wav")); mp.Play();
mp.Volume = 0.5;//50% Lautstärke mp.MediaEnded += (s2, e2) => { mp.Stop(); mp.Play(); };//Diese Zeilen sorgen für eine Dauerschleife } - Eine Weitere Möglichkeit wäre der Einsatz des MediaElements. Hier gilt alles von 1. und zusätzlich ein Verweis auf PresentationFramework.
- Du benutzt den Windows Media Player. Siehe dazu:
Embedding the Windows Media Player Control in a C# Solution - Benutze eine Thirdparty-Komponente. Davon gibt es jede Menge im Internet. Einfach mal danach suchen.
Koopakiller [kuːpakɪllɐ] (Tom Lambert)
Webseite |
Code Beispiele |
Facebook |
Twitter |
Snippets
C# ↔ VB.NET Konverter
Markiert bitte beantwortende Posts als Antwort und bewertet Beiträge. Danke.- Als Antwort markiert Yoghurt42 Freitag, 24. Januar 2014 13:01
- Über das WPF Control
MediaPlayer. Füge dazu einen Verweis auf PresentationCore und WindowsBase
hinzu. Dann kannst du diesen Code verwenden:
-
Danke für die Antwort! Hätte nicht gedacht dass ich so schnell eine Antwort bekomme :-)
Jetzt hab ich allerdings ein anderes Problem: Wie kann ich eine resource mit dem MediPlayer abspielen? Beim SoundPlayer konnt man die ressource einfach in der Load methide angeben aber beim MediaPlayer funktioniert das nicht und google hat mich (wiedermal) enttäuschtWarscheinlich ist die Lösung ziemlich naheliegend und ich bin einfach nur zu "beschränkt" um darauf zu kommen aber s wäre trutzdem nett wenn mir jemand weiterhelfen könnte...
- Bearbeitet Yoghurt42 Freitag, 24. Januar 2014 15:12