none
Sound ausschalten bei Bildschirmschoner (DirectX.AudioVideoPlayback) RRS feed

  • Allgemeine Diskussion

  • 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?
    • Typ geändert Ionut DumaModerator Mittwoch, 19. Juni 2013 08:11 Keine Rückmeldung des Fragenstellender
    Donnerstag, 6. Juni 2013 08:38

Alle Antworten

  • Hallo ByByoernn,

    Es scheint zu sein dass die checkSettings wird nicht mehr aufgerufen. Du kannst eine kleine log machen um den Volume Wert zu sehen.

    Gruss,

    Ionut

    Freitag, 7. Juni 2013 13:43
    Moderator
  • ***************************************************************************************************************
    Dieser Thread wurde mangels weiterer Beteiligung des Fragestellenden ohne bestätigte Lösung abgeschlossen.
    Neue Rückfragen oder Ergänzungen zu diesem Thread bleiben weiterhin möglich.
    ***************************************************************************************************************
    Mittwoch, 19. Juni 2013 08:10
    Moderator