Laden...

Mediatasten der Tastatur verwenden

Erstellt von Daniel B. vor 15 Jahren Letzter Beitrag vor 15 Jahren 1.331 Views
D
Daniel B. Themenstarter:in
81 Beiträge seit 2009
vor 15 Jahren
Mediatasten der Tastatur verwenden

Hallo Leute,

wollte fragen ob es irgendwie möglich ist die Multimediatasten einer Tastatur "abzufragen" und sie zu verwenden (Play, Pause, Stop, etc).

mfg Daniel

2.760 Beiträge seit 2006
vor 15 Jahren

Ja, die Tasten sind alle im Keys-Enum aufgelistet.

D
Daniel B. Themenstarter:in
81 Beiträge seit 2009
vor 15 Jahren

weist du zufällig auch noch wie ich die jederzeit abfragen kann ?

also zb. während ein lied abgespielt wird in winForms

2.760 Beiträge seit 2006
vor 15 Jahren

Sollte regulär mit z.B. überschreiben von OnKeyDown oder dem abonieren des KeyDown events funktionieren.

D
Daniel B. Themenstarter:in
81 Beiträge seit 2009
vor 15 Jahren

Hast du da ein kleines Beispiel damit ich das kapier^^

2.760 Beiträge seit 2006
vor 15 Jahren
D
Daniel B. Themenstarter:in
81 Beiträge seit 2009
vor 15 Jahren

Ich hab das jetzt mal ausprobiert

Irgendwie geht das nicht wirklich



        private void Mediaplayer_KeyDown(object sender, KeyPressEventArgs e)
        {
            if (e.KeyCode == Keys.MediaPlayPause)
            {
                button1_Click(sender, e);
            }
            if (e.KeyCode == Keys.MediaStop)
            {
                StopMediaFile();
            }
            if (e.KeyCode == Keys.VolumeMute)
            {
                trackBar1.Value = 0;
            }
        }

2.760 Beiträge seit 2006
vor 15 Jahren

Nein, das geht nicht. So stand das es allerdings auch nicht im Beispiel.
Schau dir doch mal die Event-Args an. Da ist eben genau ein (möglicherweise kombinierter) Wert des Enums drin mit dem du vergleichen kannst.

Falls du das Visual Studio nutzt kannst du ja auch einfach mal "switch" eingeben und zweimal Tab drücken... dann in den Platzhalter e.KeyCode eintragen, Enter and you're done.

D
Daniel B. Themenstarter:in
81 Beiträge seit 2009
vor 15 Jahren

private void Mediaplayer_KeyDown(object sender, KeyEventArgs e)
        {
            switch (e.KeyCode)
            {

                case Keys.MediaNextTrack:
                    {

                        break;
                    }
                  
                case Keys.MediaPlayPause:
                    {

                        startMediaFile(root, audioFiles, "mp3");
                        break;
                    }
                    
                case Keys.MediaPreviousTrack:
                    {
                        break;
                    }
     
                case Keys.MediaStop:
                    {
                        StopMediaFile();
                        break;
                    }
                  
            }
        }

Also so gehts schonmal net,

2.760 Beiträge seit 2006
vor 15 Jahren

Kommt drauf an was Mediaplayer ist. Bei mir geht es so. Evtl musst du auf der Form noch KeyPreview auf true setzen.

49.485 Beiträge seit 2005
vor 15 Jahren

Hallo Daniel B.,

Hast du da ein kleines Beispiel damit ich das kapier^^

Noch ein wichtiger Hinweis dazu: Bitte nicht versuchen, sowas nicht auf uns abzuwälzen, sondern immer selbst in der :rtfm: Doku gucken.

herbivore

D
Daniel B. Themenstarter:in
81 Beiträge seit 2009
vor 15 Jahren

Danke so funktionierts

Nur 1 Problem gibts noch,

es geht nur wenn ich auf der Form bin, ich will aber das es auch funktioniert wenn ich zB mit FireFox im internet bin und ich auf Stop drück das es dann aufhört zu spieln

2.760 Beiträge seit 2006
vor 15 Jahren

😉 Dann schau mal in der Forumssuche nach Hooks....

D
Daniel B. Themenstarter:in
81 Beiträge seit 2009
vor 15 Jahren

Ich hätte zwar was gefunden, nur ich bekomme trotzdem die Mediatasten nicht "gesendet" , jede andere funzt aber