Gibt es eine einfache Möglichkeit, das Volume aus verwalteten .net-Code zu setzen?Ändern Sie die Tonlautstärke von .net code
Antwort
Dieser ziemlich lange Artikel zeigt, wie: Controlling sound volume in C#
This CodeProject article zeigt, wie Sie in vollem Umfang die Windows-Mixer-Einstellungen steuern, einschließlich der Master-Lautstärke für das System. Es scheint die meisten schrecklichen Win-API-Sachen zu umhüllen, also ist es wahrscheinlich der einfachste Weg.
Einfache Antwort: Sie müssen Interop verwenden.
ich eine Bibliothek schrieb für Sie alle Arten von Sound Sachen zu tun, tho:
WinnMM.Net: http://winmm.codeplex.com/
Die Bibliothek scheint gut zu sein, aber Codebeispiele wären sehr hilfreich. Könnten Sie bitte etwas hinzufügen? –
Dies macht es für mein Windows 7:
herunterladen NAudio (http: //naudio.codeplex.com/releases/view/79035) und verweisen Sie auf die DLL in Ihrem Projekt. Dann folgenden Code hinzufügen:
try
{
//Instantiate an Enumerator to find audio devices
NAudio.CoreAudioApi.MMDeviceEnumerator MMDE = new NAudio.CoreAudioApi.MMDeviceEnumerator();
//Get all the devices, no matter what condition or status
NAudio.CoreAudioApi.MMDeviceCollection DevCol = MMDE.EnumerateAudioEndPoints(NAudio.CoreAudioApi.DataFlow.All, NAudio.CoreAudioApi.DeviceState.All);
//Loop through all devices
foreach (NAudio.CoreAudioApi.MMDevice dev in DevCol)
{
try
{
//Set at maximum volume
dev.AudioEndpointVolume.MasterVolumeLevel = 0;
//Get its audio volume
System.Diagnostics.Debug.Print("Volume of " + dev.FriendlyName + " is " + dev.AudioEndpointVolume.MasterVolumeLevel.ToString());
//Mute it
dev.AudioEndpointVolume.Mute = true;
System.Diagnostics.Debug.Print(dev.FriendlyName + " is muted");
}
catch (Exception ex)
{
//Do something with exception when an audio endpoint could not be muted
System.Diagnostics.Debug.Print(dev.FriendlyName + " could not be muted");
}
}
}
catch (Exception ex)
{
//When something happend that prevent us to iterate through the devices
System.Diagnostics.Debug.Print("Could not enumerate devices due to an excepion: " + ex.Message);
}
Danke dafür. Dieser Code funktioniert auf meinem Computer zum Stummschalten der Lautstärke. – Anshul
Sie möchten die Systemlautstärke anpassen? Spielen Sie tatsächlich Audio von Ihrer Anwendung - wenn ja, mit was? – Noldorin
Ich spiele kein Audio. –