none
PlaySystemSound geht nicht bei deaktivierten Sounds: Windows Soundschema bearbeiten? RRS feed

  • Frage

  • Tag,

    da ich keine Windows-Sounds mag hab ich in den Sound-Einstellungen 'Keine Sounds' gewählt.

    Das hat zur Folge, dass PlaySystemSound. nix mehr abspielt in VB(net). (Für einen Wecker)

    Welchen workaround gäbe es?

    Ich könnte mir vorstellen die Soundeinstellungen temporär per vb-code umzustellen (einschalten-play-ausschalten), finde aber überhaupt nix im Netz.

    Kann mir jemand helfen?

    Freitag, 19. April 2013 21:34

Alle Antworten

  • Hallo,

    verwende direkt die SoundPlayer Klasse. Dort kannst Du auch eine Datei (WAV etc.) angeben:
    Gewusst wie: Wiedergabe von Sound in Windows Forms

    Gruß Elmar

    Samstag, 20. April 2013 05:40
    Beantworter
  • Danke Elmar. Wie man Sound wiedergibt ist mir bekannt.

    Habe meine Frage nochmal anders gestellt. siehe dort.

    Samstag, 20. April 2013 15:41
  • Tag,

    ich habe die Systemsounds alle aus, möchte in einem Wecker aber trotzdem über

    My.Computer.Audio.PlaySystemSound(Media.SystemSounds.Asterisk)

    einen Systemsound ausgeben.

    Das geht aber nur, wenn im Soundschema nicht "keine Sounds" steht.

    Folgendes hab ich probiert:

    regkey = Registry.CurrentUser.OpenSubKey("AppEvents\Schemes", True)
                saveKey = regkey.GetValue("")  'für (Standard) muss ein leerstring oder nothing übergeben werden
                regkey.SetValue("", ".Default")
                My.Computer.Audio.PlaySystemSound(Media.SystemSounds.Asterisk)
                regkey.SetValue("", saveKey)
                regkey.Close()

    Ich kann in der Registry bei Einzelschrittablauf das korrekte Setzen von ".Default" nachverfolgen, der code funktioniert. Öffne ich in diesem Moment die Soundeigenschaften, so steht im Soundschema auch tatsächlich 'Windows-Standard' drin, aber in dem tree drunter sind trotz dieses Eintrages keine speaker-Symbole zu sehen, d.h. es werden weiter keine Systemsounds abgespielt, und die Zeile im code gibt folglich auch keinen Sound aus.

    Hat einer einen Tipp, welche Aktion hier noch fehlt, damit das Soundschema nicht nur in der Reg gesetzt wird sondern auch im System umgesetzt?

    Seid bedankt!

    Thomas

    Samstag, 20. April 2013 15:48
  • Hallo,

    naja, wer My.Computer verwendet, dem ist vieles nicht bekannt...

    Und wenn kein Standard-Schema definiert ist bzw. man sich nicht darauf verlassen will, so ist der Weg eine Datei explizit anzugeben - und diese ggf. auch in das Projekt mit einzubinden - Copyrights sind dabei zu beachten.

    Programme, die wiederum das Standard Schema eines Benutzers ändern machen sich nur unbeliebt -> bei mir werden sie sofort gelöscht.

    Gruß Elmar

    Samstag, 20. April 2013 16:03
    Beantworter
  • naja, wer My.Computer verwendet, dem ist vieles nicht bekannt...

    Korrekt, daher wendet er sich hilfesuchend in Foren an die Wissenden ;-)

    Thomas

    Samstag, 20. April 2013 16:10
  • Hallo Thomas,

    tja und was ist so schwer an:

            Dim player As New SoundPlayer("C:\WINDOWS\Media\Windows Error.wav")
            player.Play()
    

    Zu den geplanten Registry Hacks sage ich nur: So geht es nicht...
    Mehr nicht, denn das verbiegt nur den Anwender ihre gewählten Einstellungen.

    Nicht umsonst sieht Windows vor: Der Anwender bestimmt ob, da was rauskommt: http://msdn.microsoft.com/en-us/library/windows/desktop/ms724947%28v=vs.85%29.aspx#UIeffect

    Gruß Elmar

    Samstag, 20. April 2013 17:12
    Beantworter
  • Hallo Thomas,

    tja und was ist so schwer an:


    Zu den geplanten Registry Hacks sage ich nur: So geht es nicht...
    Mehr nicht, denn das verbiegt nur den Anwender ihre gewählten Einstellungen.


    Moin Elmar, das ist nicht schwer, stimme Dir zu. Aber: entwede ich binde die Wavs als Resource ein oder ich hoffe, dass sie wirklcih da vorhanden sind, wo ich sie angebe. Bei den Systemsounds kann ich sicher sein, dass sie vorhanden sind. (ich überlasse es dem Anwender, mit welchem Sound er sich 'wecken' lässt, auch wählbare mp3s sind erlaubt)

    Zum verbiegen: Siehe code. Das wäre nur temporär.

    http://social.msdn.microsoft.com/Forums/de-DE/visualbasicde/thread/10abb440-4f30-4d89-9ea7-bfc25da39888

    Natürlich verstehe ich Deine Vorbehalte hinsichtlich Reg-Änderung.

    Werde wohl, wenn das so schwierig ist, auf diesen Weg verzichten...

    Dank allemal!

    Thomas

    Sonntag, 21. April 2013 08:58
  • Hallo Thomas,

    wie bereits gesagt: ich würde eine eigene Sound-Datei einbinden. Es muss ja nicht die Windows eigene sein - freie Piepser gibt es genug.

    Den anderen Thread (wie den in US) habe ich gesehen, aber bewusst nicht darauf geantwortet.

    IMHO ist der Weg über die Registry - alles andere außen vorgelassen - einfach nur überkompliziert.

    Wobei ich schon  geguckt habe, siehe Hinweis im letzten Beitrag. Ist die Audio-Ausgabe abgeschaltet, funktionieren die Standardtöne nicht, eben weil der Anwender sie ja nicht hören will. Nebenbei verwendet wird .Current des jeweiligen Tons - hier SystemAsterisk. Beim Ändern des Schemas wird mehr als nur der eine Eintrag geschrieben.

    Gruß Elmar

    Sonntag, 21. April 2013 09:18
    Beantworter
  •  Beim Ändern des Schemas wird mehr als nur der eine Eintrag geschrieben.


    Aha, dacht ich mir.
    Sonntag, 21. April 2013 16:12