Guten Tag,
ich habe einen kleinen Bildschirmschoner erstellte, welcher ein Video abspielt.
Lese die Settings aus und dann setze das Volume des Videos aus stumm.
Im der Vorschau funktioniert alles super, aber sobald der Bildschirmschoner nun zum einsatz kommt und von windows aktiviert wird nach der angegebenen Zeit wird das Volume nicht mehr reduziert.
Hier ein Ausschnitt des Codes:
public Screensaver()
{
InitializeComponent();
this.MouseMove +=new MouseEventHandler(Screensaver_MouseMove);
this.MouseDown += new MouseEventHandler(Screensaver_MouseDown);
this.KeyDown += new KeyEventHandler(Screensaver_KeyDown);
checkSettings();
this.oVid.Owner = this;
this.oVid.Size = this.Size;
this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.None;
Cursor.Hide(); // Hide Mousepointer
this.Bounds = Screen.PrimaryScreen.Bounds;
TopMost = true; // Form get first Position in the screen
}
private void Screensaver_Load(object sender, EventArgs e)
// Play the video once.
this.oVid.Play();
}
private void checkSettings()
{
// get the Settings from the SettingsFile
string language = Properties.Settings.Default.Language;
bool sound = Properties.Settings.Default.Sound;
//Check for the Choosen language
switch (language)
{
case "DE": oVid = new Video(GetTempFileFromBytes(Properties.Resources.DE)); break;
case "EN": oVid = new Video(GetTempFileFromBytes(Properties.Resources.EN)); break;
case "SP": oVid = new Video(GetTempFileFromBytes(Properties.Resources.SP)); break;
case "PL": oVid = new Video(GetTempFileFromBytes(Properties.Resources.PL)); break;
default: oVid = new Video(GetTempFileFromBytes(Properties.Resources.DE)); break;
}
oVid.Audio.Volume = 0;
// Volume default ist 0;Loudest value = 0, Mute value = -10000
if (sound == false)
oVid.Audio.Volume = -10000;
}
Hat jemand eine schlaue Lösung für das Problem?
Hi byoernn,
ich nehme mal an, dass die if-Abrage
if (sound == false)
oVid.Audio.Volume = -10000;
Probleme macht.
Du setzt ja vorher
oVid.Audio.Volume = 0;
(also volle Lautstärke) fest. Hast du schon versucht es gleich auf -10000 zu setzen? 😃
Ja er ignoriert die If anweisung. jedoch frage ich mich warum er es so macht.
habe es auch schon auf -10000 gestellt. dann ist das programm halt immer stumm.
Hast du denn einfach mal gedebuggt was in sound drin steht ?
Zudem schreibt man nicht :
if(sound ==false)
sondern
if(!sound)
siehe [Tipp] Anfängerfehler == true / == false
Und Crossposts sind hier nicht so gern gesehen..
Sound ausschalten bei Bildschirmschoner (DirectX.AudioVideoPlayback)
++Rekursion ++
(lat. , die) siehe Rekursion