如何在 Python 中调用静音/扬声器控制键。戴尔纬度 E7440

Posted

技术标签:

【中文标题】如何在 Python 中调用静音/扬声器控制键。戴尔纬度 E7440【英文标题】:How to call upon Mute/Speaker control keys in Python. Dell latitude E7440 【发布时间】:2018-04-20 19:12:05 【问题描述】:

我需要帮助才能找到我正在使用的戴尔设备上的静音键。我需要按下按钮以在 Python 中执行某些操作,但我找不到任何有关其名称的文档。这样做的最终目标是防止用户将他们的扬声器静音。我将使用 Python 并计划使用 Tkinter 来阻止按钮按下。

【问题讨论】:

【参考方案1】:

使用PyHook 可以阻止Windows 鼠标和键盘事件。 以下是可以在here. 找到的示例代码(用于在 pygame 期间阻止键)这似乎适用于您的情况,因此似乎只需要很少的修改。

import pyHook
import pygame

# create a keyboard hook
def OnKeyboardEvent(event):
    print 'MessageName:',event.MessageName
    print 'Message:',event.Message
    print 'Time:',event.Time
    print 'Window:',event.Window
    print 'WindowName:',event.WindowName
    print 'Ascii:', event.Ascii, chr(event.Ascii)
    print 'Key:', event.Key
    print 'KeyID:', event.KeyID
    print 'ScanCode:', event.ScanCode
    print 'Extended:', event.Extended
    print 'Injected:', event.Injected
    print 'Alt', event.Alt
    print 'Transition', event.Transition
    print '---'
    if event.Key.lower() in ['lwin', 'tab', 'lmenu']: #(CHANGE HERE TO BLOCK MUTE KEY)
        return False    # block these keys 
    else:
        # return True to pass the event to other handlers
        return True

# create a hook manager
hm = pyHook.HookManager()
# watch for all keyboard events
hm.KeyDown = OnKeyboardEvent
# set the hook
hm.HookKeyboard()

# initialize pygame and start the game loop
pygame.init()

while(1):
    pygame.event.pump()

我假设您使用的是 Windows,但除此之外我只亲眼见过 this linux version。

【讨论】:

谢谢!这将非常有用。但是,我仍然面临着最大的问题,即找出如何阻止静音键。我找不到任何有关如何调用 USB 和笔记本电脑键盘的内置静音键的文档。您知道如何获取按钮代码吗?也许是通过一个打印按钮代码的脚本,或者只是一个不错的文档?

以上是关于如何在 Python 中调用静音/扬声器控制键。戴尔纬度 E7440的主要内容,如果未能解决你的问题,请参考以下文章

NAudio - 如何记录扬声器的初始静音

DingTalk - 如何设置钉钉群直播静音?

iOS:静音右声道音量

iOS :AudioSession详解 Category选择 听筒扬声器切换

我可以用 Delphi 代码控制扬声器图标的状态吗

电脑突然没有声音了怎么恢复正常