使用pycaw检测微信消息提示

使用pycaw检测微信消息提示

利用pywinauto库,我们确实可以实现在社交软件上的自动接收与发送消息功能。但要精确捕捉新消息的到达时机,这一库显得稍显笨拙。

这种方法虽然实用,但在效率上可能不是最优选择。

新消息的来到不仅仅有消息记录的改变,往往还伴随着提示声音。

因此,我们可以检测微信程序对音频进程的使用情况,从而判断是否有新消息。

pycaw是一个用于控制电脑音量的Python库。主要功能包括:

  1. 获取音量范围:pycaw能够初始化音量控制模块,并获取当前系统的音量范围。

  2. 音量调节:用户可以通过编写代码,使用pycaw来增加、减少或设置特定的音量值。

  3. 静音控制:pycaw允许用户通过编程实现静音功能的开启和关闭。

  4. 事件监听:可以监听音量变化事件,当系统音量发生变化时执行相应的操作。

  5. 多设备支持:如果计算机连接了多个音频输出设备,pycaw可以帮助管理和控制这些设备的音量。

我们可以通过下面语句获取所有音频会话

 sessions = AudioUtilities.GetAllSessions()

然后遍历会话,输出它们的信息

 for session in sessions:# 进程IDprint(session.ProcessId)# 进程ID、进程名、使用时间等信息print(session.Process)# 发声状态print(session.State)

此外,session.SimpleAudioVolume还可以获取和设置音量大小,这里便不展开叙述了。

完整代码如下:

 import timefrom pycaw.pycaw import AudioUtilities, IAudioEndpointVolume​# 用于保存指定会话信息mysession = None# 获取所有音频会话sessions = AudioUtilities.GetAllSessions()# 遍历所有会话for session in sessions:# 找到指定会话if session.Process is not None and session.Process.name() == "WeChat.exe":mysession = session​# 持续判断会话状态,并保证会话存在while True:time.sleep(0.5)if mysession.State == 1:    # 1表示会话正在发出声音print("New message!!")elif mysession.State is None:print("No session!")break

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/688600.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Swagger-的使用

Swagger-的使用 前言效果1、相关依赖2、相关注解2.1 @Tag设置整个类的名称和详情2.2 @Operation描述具体的方法2.3 @Parameter 描述参数2.4@Schema 为属性添加注释3、Docket配置3.1通过gropeediopenapi进行分组3.2 通过docsOpenApi设置前言 在我们和前端进行交互的时候,出接口…

【机构vip教程】Appium自动化(2):Python+Appium环境搭建

windows下搭建pythonappium环境 搭建过程步骤如下: 1、安装jdk并配置好环境变量(jdk版本1.8以上) 2、安装android-sdk并配置好环境变量;具体步骤见:https://www.cnblogs.com/YouJeffrey/p/15243705.html 3、安装安…

浅谈js事件机制

事件是什么?事件模型? 原始事件模型(DOM0级) HTML代码中指定属性值:在js代码中指定属性值:优点:缺点: IE 事件模型DOM2事件模型 对事件循环的理解 宏任务(Macrotasks&…

Three.JS教程5 threejs中的材质

Three.JS教程5 threejs中的材质 一、什么是Three.js材质?二、Three.js的材质类型1. 材质类型2. 材质的共用属性(1).alphaHash : Boolean(2).alphaTest : Float(3).alphaToCoverage : Boolean&am…

白酒:制曲工艺的微生物多样性及其作用

在云仓酒庄豪迈白酒的制曲工艺中,微生物多样性是一个关键要素。曲是白酒生产中的重要配料,它由小麦、麸皮等原料制成,经过微生物的发酵和生长而形成。微生物的多样性和相互作用对曲的品质和白酒的口感具有重要影响。 首先,微生物多…

【后端高频面试题--设计模式上篇】

🚀 作者 :“码上有前” 🚀 文章简介 :后端高频面试题 🚀 欢迎小伙伴们 点赞👍、收藏⭐、留言💬 往期精彩内容 【后端高频面试题–设计模式上篇】 【后端高频面试题–设计模式下篇】 【后端高频…

Git 操作以及Git 常见问题

Git 操作 git 教程:https://www.runoob.com/git/git-tutorial.html 基本概念 工作区:克隆项目到本地后,项目所在的文件夹; 暂存区:从工作区添加上来的变更(新增,修改,删除&#xff…

C++面向对象程序设计-北京大学-郭炜【课程笔记(三)】

C面向对象程序设计-北京大学-郭炜【课程笔记(三)】 1、构造函数(constructor)1.1、基本概念 2、赋值构造函数2.1、基本概念2.1、复制构造函数起作用的三种情况2.2、常引用参数的使用 3、类型转换构造函数3.1、什么事类型转换构造函…

关于怎么监督机器学习训练的进度

不知道大家有没有我这种烦恼,运行机器学习模型的时候,一直在哪运行,也不知道啥时候会结束,等也不是,不等也不是,又着急想看到结果。 如下提出三种监督训练进度的方法: 1.使用回调函数&#xf…

Kubernetes实战:通过nodePort方式访问springboot服务

目录 一、准备工作1.1、yaml文件编写 二、创建k8s Service三、附录参考资料 一、准备工作 1.1、yaml文件编写 创建weaveservice_service.yaml文件,yaml文件内容如下 apiVersion: v1 kind: Service metadata:name: weaveservicenamespace: app spec:selector:app:…

寻找正确的数据衡量指标

在分析数据之前,需要对运营&产品设置一个目标行为。这个行为的定义应当是业务目标或者业务目标直接相关的指标,我们希望通过运营或者产品,让用户产生某种行为,并达到双赢的目的。 例如电商产品中,用户最终的行为是…

深入解析Android AIDL:实现跨进程通信的利器

深入解析Android AIDL:实现跨进程通信的利器 1. 介绍Android AIDL Android Interface Definition Language (AIDL) 是一种Android系统中的跨进程通信机制。AIDL允许一个应用程序的组件与另一个应用程序的组件通信,并在两者之间传输数据。 AIDL的主要作…

【机构vip教程】​python(1):python正则表达式匹配指定的字符开头和指定的字符结束

一&#xff0c;使用python的re.findall函数&#xff0c;匹配指定的字符开头和指定的字符结束 代码示例&#xff1a; 1 import re 2 # re.findall函数;匹配指定的字符串开头和指定的字符串结尾(前后不包含指定的字符串) 3 str01 hello word 4 str02 re.findall((?<e).*?…

[嵌入式系统-27]:RT-Thread -14- 操作系统配置:rtconfig.h文件与menuconfig命令

目录 一、rtconfig.h 1.1 概述 1.2 软硬件资源配置 1.3 功能模块选择 1.4 内核配置详解 1.5 调度器配置 1.6 硬件设备驱动配置 1.7 网络配置 1.8 调试配置 二、menuconfig 2.1 概述 2.2 主要功能 三、RT Thread配置 VS Linux配置 一、rtconfig.h 1.1 概述 rtco…

Shiro-03-shiro 核心概念 Subject,SecurityManager 和 Realms

核心概念&#xff1a;Subject&#xff0c;SecurityManager 和 Realms Shiro的体系结构具有三个主要概念-主题&#xff08;Subject&#xff09;&#xff0c;安全管理器(SecurityManager)和领域&#xff08;Realms&#xff09;。 Subject 在保护应用程序安全时&#xff0c;可能…

LeetCode504. Base 7

文章目录 一、题目二、题解 一、题目 Given an integer num, return a string of its base 7 representation. Example 1: Input: num 100 Output: “202” Example 2: Input: num -7 Output: “-10” Constraints: -107 < num < 107 二、题解 class Solution …

阿里云香港轻量应用服务器怎么样,建站速度快吗?

阿里云香港服务器中国香港数据中心网络线路类型BGP多线精品&#xff0c;中国电信CN2高速网络高质量、大规格BGP带宽&#xff0c;运营商精品公网直连中国内地&#xff0c;时延更低&#xff0c;优化海外回中国内地流量的公网线路&#xff0c;可以提高国际业务访问质量。阿里云服务…

[java基础揉碎]类与对象

目录 类与对象的引出: 类与对象的概述: 类与对象在内存中的布局: 属性的注意细节: 类与对象在内存中创建的过程: 类与对象的引出: 例如这样一个问题: 如果用单独变量来解决, 就会有一个问题, 不利于数据的管理, 将所有猫的信息都给拆解了: 如果用数组来解决, 则会有 1)数…

ClickHouse--11--ClickHouse API操作

提示&#xff1a;文章写完后&#xff0c;目录可以自动生成&#xff0c;如何生成可参考右边的帮助文档 文章目录 1.Java 读写 ClickHouse API1.1 首先需要加入 maven 依赖1.2 Java 读取 ClickHouse 集群表数据JDBC--01--简介 ClickHouse java代码 1.3 Java 向 ClickHouse 表中写…

Code Composer Studio (CCS) - Hot keys (快捷键)

Code Composer Studio [CCS] - Hot keys [快捷键] 1. Hot keys2. Debug modeReferences 1. Hot keys F5 - Refresh F3 - Open Declaration Ctrl B - Build All F4 - Open Type Hierarchy Alt Left - Back to function Alt Right - Forward to function 2. Debug mode…