Python实时音量监控:5分钟打造智能提醒器
1. 项目概述五分钟打造一个音量提醒器你有没有过这样的经历戴着耳机沉浸在音乐或播客里不知不觉间音量就调到了可能损伤听力的水平。或者在深夜追剧、打游戏时家人已经休息你却没意识到自己的外放音量已经打扰到了他人。又或者你是一位内容创作者在剪辑音频时需要确保输出电平始终保持在某个安全范围内避免爆音或音量过低。这些场景的核心痛点都指向了对“声音音量”的主动感知与智能提醒的需求。“5 Minutes to Create a Sound Volume Reminder”这个项目就是针对这一普遍需求的一个轻量化、高可用的解决方案。它的核心目标是让你能在五分钟内利用手边常见的工具搭建一个实时监控系统音量或麦克风输入音量的程序。当音量超过或低于你设定的阈值时它会通过视觉如屏幕闪烁、听觉如播放提示音或系统通知等方式及时提醒你帮助你养成健康的用耳习惯或避免在不当场合制造噪音。这个项目听起来可能有点“极客”但实现起来远比想象中简单。它不依赖于任何复杂的硬件完全在软件层面解决。无论你是对编程略有了解的普通用户还是希望快速实现一个实用小工具的开发者都能从中获得乐趣和实用价值。接下来我将为你拆解这个项目的完整实现思路、核心代码、以及那些只有实际动手才会遇到的“坑”。2. 核心思路与技术选型2.1 需求拆解与方案设计要实现一个音量提醒器我们需要解决几个核心问题如何获取当前系统的音量数据这是整个项目的数据源头。如何设定提醒的阈值和条件用户需要能自定义“多大声音算大”、“多小声音算小”。达到条件后如何触发提醒提醒方式需要足够明显但又不能过于干扰。程序如何持续运行并监控需要一个后台循环或事件监听机制。基于“五分钟快速实现”的目标我们应该选择学习曲线平缓、库生态丰富、能快速出成果的技术栈。对于这样一个桌面端、需要与操作系统音频子系统交互的工具Python 几乎是目前的最优解。它拥有庞大而成熟的库支持几行代码就能完成复杂功能。为什么不选其他语言C/C#功能强大与系统结合紧密但开发效率较低五分钟可能刚配好环境。JavaScript (Electron)可以做出漂亮的跨平台界面但项目体积庞大运行开销高对于这样一个轻量级后台工具来说有点“杀鸡用牛刀”。Go/Rust性能优异但音频处理库的成熟度和易用性暂时不如Python生态。因此Python 几个关键库的组合是实现“五分钟目标”的黄金搭档。2.2 关键工具库介绍我们将主要依赖以下两个库它们分别解决了“获取音量”和“发送通知”的核心难题sounddevice/pyaudio这是我们的“耳朵”。它们提供了跨平台的音频输入/输出接口。我们可以用它们来录制一小段音频即使不保存然后分析这段音频的振幅从而计算出当前的音量水平。sounddevice的API更现代简洁一些我们以它为例。plyer这是我们的“嘴巴”和“信号灯”。plyer是一个跨平台的库用于访问手机和桌端的原生功能比如发送系统通知、控制震动、获取电池信息等。用它来发送桌面通知可以避免自己处理不同操作系统Windows, macOS, Linux的通知API差异真正做到“一行代码全平台通用”。可选numpy这是我们的“大脑”。计算音量通常是计算音频数据的均方根RMS或分贝dB涉及到数组运算numpy在这方面是绝对的主力效率极高。虽然sounddevice返回的数据本身就是numpy数组但显式导入能让我们的计算代码更清晰。注意sounddevice的后端依赖于PortAudio。在Windows和macOS上安装sounddevice时会自动处理。在部分Linux发行版上你可能需要先通过包管理器安装portaudio开发库例如在Ubuntu/Debian上sudo apt-get install portaudio19-dev。3. 分步实现与代码详解现在我们进入实战环节。请确保你已经安装了Python建议3.7及以上版本。打开你的终端或命令行我们开始“五分钟倒计时”。3.1 第一步环境搭建与库安装约1分钟在命令行中执行以下命令一次性安装所有必需的库pip install sounddevice numpy plyer这条命令会从Python的官方包索引中下载并安装这三个库。如果安装速度慢可以考虑使用国内的镜像源例如清华源pip install sounddevice numpy plyer -i https://pypi.tuna.tsinghua.edu.cn/simple。安装完成后创建一个新的Python文件比如命名为volume_reminder.py然后用你喜欢的代码编辑器打开它。3.2 第二步编写核心监控逻辑约3分钟我们将代码分成几个函数块这样逻辑更清晰也便于你未来扩展。首先导入我们需要的库import sounddevice as sd import numpy as np from plyer import notification import time然后定义几个关键参数和函数# 1. 定义监控参数 SAMPLE_RATE 44100 # 采样率单位HzCD音质是44100 DURATION 0.5 # 每次采样的时长单位秒。太短不稳定太长有延迟。0.5秒是个不错的平衡点。 THRESHOLD_DB -20 # 提醒阈值单位分贝(dB)。-20dB是一个中等偏高音量的参考值你可以自行调整。 DEVICE None # 指定音频设备None表示使用系统默认设备。如果你有多个声卡可能需要指定。 # 2. 计算音量的函数 def get_current_volume(): 录制一小段音频并计算其RMS分贝值。 # 录制音频 recording sd.rec(int(DURATION * SAMPLE_RATE), samplerateSAMPLE_RATE, channels1, # 单声道足以计算音量 deviceDEVICE) sd.wait() # 等待录制完成 # 计算RMS均方根并转换为分贝 # 首先确保数组中有数据并且不是全零静音 if recording.size 0: rms np.sqrt(np.mean(recording**2)) # 将RMS转换为分贝。参考电平设为1.0这是数字音频的最大值。 # 加一个极小值防止log10(0)的错误。 db 20 * np.log10(rms 1e-10) return db else: return -np.inf # 如果没有数据返回负无穷大分贝 # 3. 发送通知的函数 def send_reminder(message): 发送一个系统通知。 notification.notify( title音量提醒, messagemessage, app_nameVolume Reminder, timeout3 # 通知显示3秒后自动消失 ) # 你也可以在这里添加其他提醒方式比如让控制台打印红色文字或者播放一个提示音文件。 print(f\033[91m[提醒] {message}\033[0m) # 在终端输出红色提醒文字 # 4. 主监控循环 def main_monitor_loop(): print(音量提醒器已启动。按 CtrlC 终止程序。) print(f当前阈值: {THRESHOLD_DB} dB) try: while True: current_db get_current_volume() # 打印当前音量方便调试 print(f当前音量: {current_db:.1f} dB, end\r) # \r 让输出在同一行刷新 # 判断逻辑如果当前音量大于阈值则提醒 if current_db THRESHOLD_DB: reminder_msg f音量过高当前 {current_db:.1f} dB 阈值 {THRESHOLD_DB} dB send_reminder(reminder_msg) # 提醒后等待一段时间避免连续触发通知造成骚扰 time.sleep(5) # 每次检测间隔0.5秒加上DURATION的0.5秒实际循环周期约1秒 time.sleep(0.5) except KeyboardInterrupt: print(\n程序已由用户中断。) # 5. 程序入口 if __name__ __main__: main_monitor_loop()代码逻辑解读参数部分定义了音频采样的质量SAMPLE_RATE、每次采样的时长DURATION、触发提醒的分贝阈值THRESHOLD_DB。你可以根据需求调整这些值。get_current_volume函数这是核心。sd.rec函数录制指定时长的音频返回一个numpy数组。我们计算这个数组的RMS值它代表了这段时间内的平均信号强度。然后通过公式20 * log10(rms)将其转换为分贝值。分贝值越小代表声音越轻0 dB是数字音频的最大值削顶负值代表有动态余量。send_reminder函数使用plyer的notification模块发送一个系统原生通知。同时在终端命令行里也打印一条红色的消息作为双重保险。main_monitor_loop函数一个无限循环不断获取当前音量并判断。如果音量超过阈值就发送提醒并“休眠”5秒这5秒内即使音量依然超标也不会重复提醒避免了通知轰炸。按CtrlC可以优雅地退出循环。3.3 第三步运行与测试约1分钟保存volume_reminder.py文件。打开终端导航到文件所在目录运行python volume_reminder.py现在播放一些音乐或者视频或者对着麦克风说话。当你把系统音量或输入音量调高使得计算出的分贝值超过-20 dB时你应该会看到屏幕角落弹出系统通知同时命令行窗口会有红色文字提示。恭喜一个基础版的音量提醒器已经在五分钟内完成了。但这只是一个起点它的功能还比较基础。下面我们来探讨如何让它变得更实用、更强大。4. 功能增强与个性化定制基础版本实现了核心功能但一个健壮的工具还需要考虑更多细节。以下是几个关键的增强方向。4.1 动态阈值与情景模式固定的阈值-20 dB可能不适合所有场景。例如在嘈杂的咖啡馆里你可能需要更高的阈值而在安静的图书馆阈值需要更低。改进方案实现一个简单的“学习模式”或“情景预设”。# 在参数定义部分增加情景模式 SCENARIOS { night: -30, # 夜间模式阈值很低 normal: -20, # 日常模式 noisy: -10, # 嘈杂环境模式 } current_scenario normal CURRENT_THRESHOLD SCENARIOS[current_scenario] # 然后修改主循环中的判断条件使用 CURRENT_THRESHOLD if current_db CURRENT_THRESHOLD: # ... 发送提醒你甚至可以写一个函数让程序在启动的前10秒内自动测量环境噪音基线然后基于这个基线动态设置阈值。4.2 选择音频源系统输出 vs. 麦克风输入默认情况下sd.rec使用的是系统默认的输入设备。在大多数电脑上如果没有插入麦克风默认输入设备可能是“立体声混音”Stereo Mix或“您听到的声音”What U Hear这可以用来捕获系统播放的声音。但这个功能并非所有声卡都支持。如果你想明确监控麦克风首先列出所有可用的音频设备。print(sd.query_devices())从输出中找到你的麦克风设备名称或ID。将DEVICE参数改为该设备的ID或名称。如果你想明确监控系统播放的声音扬声器输出这通常需要用到虚拟音频电缆Virtual Audio Cable或类似工具将系统音频输出重定向到一个虚拟的输入设备然后让我们的程序监听这个虚拟设备。这超出了“五分钟”的范畴但如果你有此类需求可以搜索“VB-Audio Virtual Cable”或“BlackHole”等工具进行配置。4.3 更丰富的提醒方式系统通知可能在某些全屏应用如游戏下被遮挡。我们可以增加更多提醒方式控制台闪烁/变色我们已经做了红色文字输出。播放提示音使用sd.play()播放一个短暂的“滴滴”声。def play_beep(): frequency 1000 # 频率1000Hz duration 0.3 # 时长0.3秒 t np.linspace(0, duration, int(SAMPLE_RATE * duration), endpointFalse) beep_wave 0.5 * np.sin(2 * np.pi * frequency * t) # 生成正弦波 sd.play(beep_wave, samplerateSAMPLE_RATE) sd.wait()闪烁屏幕/窗口这需要用到GUI库如tkinter创建一个最小化的窗口并控制其颜色闪烁实现稍复杂。4.4 添加图形化界面GUI或系统托盘图标对于需要常驻后台的工具一个系统托盘图标是极好的。点击图标可以显示当前音量、修改阈值、暂停/开启监控等。这可以使用pystray库配合PIL用于图标处理来实现。同样这会让项目复杂度上升但能极大提升易用性和专业度。5. 常见问题与排查技巧实录在实际运行中你可能会遇到以下问题。这里记录了我踩过的坑和解决方法。5.1 问题一sounddevice报错PortAudioError: Error opening InputStream错误信息示例sounddevice.PortAudioError: Error opening InputStream: Invalid device [PaErrorCode -9998]原因与解决设备号错误你指定的DEVICE不存在或不可用。解决方法先将DEVICE设为None使用默认设备或者运行sd.query_devices()仔细核对设备ID。设备被占用另一个程序如音乐播放器、通讯软件正在独占使用该音频设备。关闭可能占用麦克风或录音设备的程序。系统权限问题macOS/Linux常见程序没有获取麦克风或音频输入的权限。macOS前往“系统偏好设置”“安全性与隐私”“麦克风”确保你的终端如Terminal或iTerm或IDE在允许列表中。Linux可能需要检查pulseaudio或alsa的配置。5.2 问题二获取的音量值始终非常低如低于 -60 dB或为-inf可能原因默认输入设备是禁用的麦克风或错误的设备系统默认的输入设备可能是一个未插入的麦克风端口导致录不到声音。按照4.2节的方法查询并指定正确的设备。系统“立体声混音”未开启如果你想录制系统内部声音而声卡不支持或该功能未启用则录不到任何数据。在Windows声音设置中右键点击录音设备勾选“显示禁用的设备”看是否有“立体声混音”并启用它。录音音量被调至最低检查系统录音设备麦克风或立体声混音的音量是否被静音或调低了。5.3 问题三通知不弹出可能原因系统通知被关闭检查你的操作系统是否关闭了所有通知或特定应用的通知。plyer的兼容性问题在某些Linux桌面环境如某些 minimalist window managers下plyer可能需要额外的后端如notify-send命令。确保你的系统安装了libnotify-bin在基于Debian的系统上sudo apt install libnotify-bin。程序在后台运行通知被折叠有些系统会将长时间未交互程序的通知归入历史记录不会主动弹出。5.4 问题四程序CPU或内存占用过高我们的基础版本在每次循环中都会录制0.5秒音频并等待这会导致循环周期至少为0.5秒CPU占用很低。但如果你将DURATION调得很短如0.05秒并且去掉time.sleep循环会跑得非常快可能导致CPU占用上升。优化建议保持DURATION在0.1秒到1秒之间这是一个在响应速度和资源消耗之间的良好平衡。主循环中的time.sleep是必要的它让出CPU时间片避免空转。5.5 参数调优心得阈值THRESHOLD_DB到底设多少这是一个非常主观的设置取决于你的音频源、声卡增益和个人敏感度。数字音频理论值0 dBFS 是最大值削顶通常节目电平的峰值在 -3 dBFS 到 -6 dBFS 左右平均电平LUFS可能更低。实践起点-20 dB到-15 dB是一个不错的起始点对应着中等偏上的音量。校准方法运行程序播放一段你通常觉得“音量合适但偏大”的音乐或视频观察命令行打印出的分贝值。将这个值减去3到5个分贝作为你的提醒阈值。例如测得合适音量为-18 dB那么阈值可以设为-21 dB或-23 dB。6. 进阶思路从监控到自动化当你掌握了基础版本后这个项目可以作为一个跳板向更自动化、更智能的方向发展自动音量调节不仅仅是提醒当音量超标时是否可以调用系统API如Windows的pycaw库macOS的osascript自动将系统音量调低一定比例历史记录与数据分析将每分钟的平均音量、峰值音量记录到文件如CSV或数据库用matplotlib绘制出一天中的音量变化曲线分析自己的用耳习惯。与媒体播放器联动通过进程名判断当前前台程序是否是特定的播放器如VLC.exe,Spotify.exe只在这些程序活动时启用监控其他时间静默。网络化与多设备将音量数据通过WebSocket发送到服务器实现手机端远程查看电脑音量状态或者在多个电脑间同步音量策略。这个五分钟开始的小项目就像一颗种子。它的核心逻辑——“感知 - 判断 - 执行”——是许多自动化、智能化工具的通用范式。通过动手实现它你不仅得到了一个实用工具更实践了如何将一个模糊的生活需求拆解成明确的技术问题并用简洁的代码将其解决。这正是编程最迷人的地方之一。

相关新闻

深度学习框架 框架深度对比与选型:评测样本和指标怎样准备才有用

深度学习框架 框架深度对比与选型:评测样本和指标怎样准备才有用

深度学习框架 框架深度对比与选型:评测样本和指标怎样准备才有用 GPU 占用率只有 30%:瓶颈竟在 CPU 数据预处理 在大规模推荐系统或可部署的广告 CTR 预估场景中,团队在技术选型时常常在 PyTorch 与 TensorFlow 之间抉择。许多从 PyTorch 转向…

2026/8/19 2:23:46 阅读更多 →
计算机视觉与 自然语言处理 算法落地实践:从真实需求拆出第一个验证点

计算机视觉与 自然语言处理 算法落地实践:从真实需求拆出第一个验证点

计算机视觉与 自然语言处理 算法落地实践:从真实需求拆出第一个验证点 真实业务诉求:从扫描件和文本里准确抓出合同金额与条款 在真实工业界场景中,很少有纯粹的“标准分类问题”或“标准问答任务”。以企业财务与法务系统常见的合同票据自动…

2026/8/19 2:23:46 阅读更多 →
Hexo博客徽章集成指南:从原理到实战的动态信息展示方案

Hexo博客徽章集成指南:从原理到实战的动态信息展示方案

1. 项目概述:为你的Hexo博客注入“徽章”活力如果你正在用Hexo搭建个人博客或技术文档站,有没有想过,除了文字和图片,还能用什么更直观、更酷炫的方式来展示你的技术栈、项目状态、或者一些关键数据?比如,在…

2026/8/19 2:23:46 阅读更多 →

最新新闻

嵌入式人脸跟踪实战:从检测到云台控制的完整解决方案

嵌入式人脸跟踪实战:从检测到云台控制的完整解决方案

1. 项目缘起:从“人脸检测”到“人脸追踪”的必然跨越最近在折腾一个基于树莓派的互动装置项目,核心需求是让摄像头能“锁定”画面中的人脸,并驱动一个舵机云台,让摄像头始终跟随人脸移动。一开始,我天真地以为&#x…

2026/8/19 3:24:15 阅读更多 →
基于nRF5340与Zephyr RTOS的LE Audio广播音频硬件开发实战

基于nRF5340与Zephyr RTOS的LE Audio广播音频硬件开发实战

1. 项目缘起:当蓝牙音频不再“独奏”如果你最近在折腾蓝牙音频项目,或者对无线音频技术保持关注,你大概率已经听过“LE Audio”这个词。它不再是纸上谈兵的标准,而是正在悄然改变我们连接声音世界的方式。传统的蓝牙音频&#xff…

2026/8/19 3:24:15 阅读更多 →
电动汽车充电速度解析:从电池BMS到电网协同的全面优化

电动汽车充电速度解析:从电池BMS到电网协同的全面优化

1. 充电焦虑的根源:为什么“慢”成了普遍痛点? 每次在高速服务区或者商场的地下车库,看到一排排电动汽车在充电桩前排队,车主们或刷着手机、或焦急地踱步,那种等待的焦灼感,相信很多电动车主都深有体会。我…

2026/8/19 3:24:15 阅读更多 →
Arduino接近传感器与OLED显示交互:从硬件连接到代码实现

Arduino接近传感器与OLED显示交互:从硬件连接到代码实现

1. 项目概述:当OLED“看见”你的靠近做硬件项目,尤其是和Arduino打交道,最让人着迷的莫过于让冰冷的电子元件产生“互动感”。今天要聊的这个项目,就是一个典型的互动入门案例:Arduino驱动的接近传感器激活OLED显示屏。…

2026/8/19 3:24:15 阅读更多 →
AVR/PIC单片机蓝牙低功耗(BLE)快速开发指南:从硬件选型到手机通信实战

AVR/PIC单片机蓝牙低功耗(BLE)快速开发指南:从硬件选型到手机通信实战

1. 项目概述:为什么你需要这份快速上手指南?如果你正在寻找一种快速、低成本的方式为你的嵌入式项目添加蓝牙低功耗(BLE)连接能力,那么AVR-BLE和PIC-BLE系列开发板绝对是你的菜。我接触过不少蓝牙模块,从早…

2026/8/19 3:24:14 阅读更多 →
FreeRTOS与RT-Thread深度对比:从内核机制到物联网生态选型指南

FreeRTOS与RT-Thread深度对比:从内核机制到物联网生态选型指南

1. 从“裸奔”到“上系统”:为什么我们需要对比FreeRTOS与RT-Thread? 在嵌入式开发这条路上,很多工程师都是从“裸奔”(无操作系统)开始的。当项目复杂度还停留在点个灯、读个串口时,一个 while(1) 大循环…

2026/8/19 3:23:14 阅读更多 →

日新闻

【单片机课程设计/毕业设计】基于 STM32 与 WiFi 模块的室内通风智能管控系统设计 基于 STM32 的人体存在感知自适应风扇控制系统设计(018503)

【单片机课程设计/毕业设计】基于 STM32 与 WiFi 模块的室内通风智能管控系统设计 基于 STM32 的人体存在感知自适应风扇控制系统设计(018503)

博主介绍:✌️码农一枚 ,专注于大学生项目实战开发、讲解和毕业🚢文撰写修改等。全栈领域优质创作者,博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于嵌入式单片机,Java、小程序技术领域和毕业项目实战 ✌️…

2026/8/19 0:00:30 阅读更多 →
AI如何驱动数学猜想生成:从大语言模型到自动化数学发现

AI如何驱动数学猜想生成:从大语言模型到自动化数学发现

1. 项目概述:当AI开始“猜”数学定理 最近在AI研究圈里,一个名为“Moonshine”的项目引起了不小的讨论。这名字本身就挺有意思,直译是“月光”,但在数学史上,它特指一个神秘而美丽的联系——魔群月光猜想,连…

2026/8/19 0:00:30 阅读更多 →
WarcraftHelper 魔兽争霸3优化实战指南

WarcraftHelper 魔兽争霸3优化实战指南

WarcraftHelper 魔兽争霸3优化实战指南 【免费下载链接】WarcraftHelper Warcraft III Helper , support 1.20e, 1.24e, 1.26a, 1.27a, 1.27b 项目地址: https://gitcode.com/gh_mirrors/wa/WarcraftHelper 一台刚配的新电脑,跑《魔兽争霸3》却卡成 PPT——这…

2026/8/19 0:02:31 阅读更多 →

周新闻

基于阿里云与通义千问(Qwen)构建AI应用:从模型调用到生产部署的完整实践指南

基于阿里云与通义千问(Qwen)构建AI应用:从模型调用到生产部署的完整实践指南

如果你是一名开发者,最近可能已经感受到了AI大模型正在从“玩具”变成“生产力工具”的强烈信号。从代码补全到智能Agent,从本地部署到云端API,我们正处在一个技术栈快速重构的节点。然而,面对层出不穷的模型、框架和工具&#xf…

2026/8/18 9:15:35 阅读更多 →
工业通信系统底层逻辑:04 反射——高频能量撞墙之后会发生什么?

工业通信系统底层逻辑:04 反射——高频能量撞墙之后会发生什么?

第四篇:反射——高频能量撞墙之后会发生什么? —— 你以为信号已经过去了,其实它正在回来打你 老Q的现场笔记 第五季,我们正式进入工业神经系统层。这里不再是单个设备的战斗,而是整个工厂“经脉”层面的秩序之战。从这一篇开始,你将第一次看清:看似简单的信号传播,背…

2026/8/18 9:06:28 阅读更多 →
【文章复现】非线性值迭代自适应动态规划(ADP):离散时间非线性系统的策略迭代自适应动态规划算法研究附Matlab代码

【文章复现】非线性值迭代自适应动态规划(ADP):离散时间非线性系统的策略迭代自适应动态规划算法研究附Matlab代码

✅作者简介:热爱科研的Matlab仿真开发者,擅长毕业设计辅导、数学建模、数据处理、建模仿真、程序设计、完整代码获取、论文复现及科研仿真。🍎 往期回顾关注个人主页:Matlab科研工作室👇 关注我领取海量matlab电子书和…

2026/8/18 9:04:56 阅读更多 →

月新闻

免费解锁百度网盘SVIP加速:macOS用户必备的下载提速终极指南

免费解锁百度网盘SVIP加速:macOS用户必备的下载提速终极指南

免费解锁百度网盘SVIP加速:macOS用户必备的下载提速终极指南 【免费下载链接】BaiduNetdiskPlugin-macOS For macOS.百度网盘 破解SVIP、下载速度限制~ 项目地址: https://gitcode.com/gh_mirrors/ba/BaiduNetdiskPlugin-macOS 还在为百度网盘macOS版的龟速下…

2026/8/17 18:54:37 阅读更多 →
终极ncmdump指南:3分钟实现网易云NCM音乐解密与格式转换

终极ncmdump指南:3分钟实现网易云NCM音乐解密与格式转换

终极ncmdump指南:3分钟实现网易云NCM音乐解密与格式转换 【免费下载链接】ncmdump 项目地址: https://gitcode.com/gh_mirrors/ncmd/ncmdump 还在为网易云音乐下载的NCM格式文件无法在其他播放器播放而烦恼吗?ncmdump解密工具帮你轻松解决这个困…

2026/8/17 18:55:16 阅读更多 →
HarmonyOS 应用开发《掌上英语》第81篇: 智能体卡片:为英语学习 App 打造桌面级学习助手

HarmonyOS 应用开发《掌上英语》第81篇: 智能体卡片:为英语学习 App 打造桌面级学习助手

AgentCard 智能体卡片:为英语学习 App 打造桌面级学习助手适用平台:HarmonyOS 7.0 (API 26 Beta)一、引言 HarmonyOS 7.0(API 26 Beta)新增了 AgentCard 智能体卡片能力,这是继 HMAF(鸿蒙智能体框架&#x…

2026/8/17 18:55:55 阅读更多 →