Wie kann ich das Ausgabegerät für meine Anwendung auswählen? Ich verwende das SoundPlayer
Klasse zum Abspielen von wav-Dateien.
Antworten
Zu viele Anzeigen?Sie sollten den SoundPlayer für so etwas nicht mehr verwenden (und auch nicht für alles andere, was über das Abspielen allgemeiner Systemklänge hinausgeht). Ich schlage vor, Sie verwenden NAudio erlaubt es, was Sie suchen, und mehr.
tigrou
Punkte
3871
Ich benötigte dieselbe Funktionalität. Hier ist meine Lösung mit NAudio (wie von Neverbirth vorgeschlagen)
Um alle Geräte aufzulisten:
for (int n = -1; n < WaveOut.DeviceCount; n++)
{
var caps = WaveOut.GetCapabilities(n);
Console.WriteLine($"{n}: {caps.ProductName}");
}
Wave-Datei abspielen:
WaveFileReader wav = new WaveFileReader("somefile.wav");
var output = new WaveOutEvent { DeviceNumber = 0 };
output.Init(wav);
output.Play();
Vergessen Sie nicht, die Ressourcen zu säubern:
wav.Dispose();
output.Dispose();