You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

.NET Core WinForm应用如何暂停/停止其他App播放的音频?

跨应用音频暂停/停止实现方案

要控制电脑上输出到蓝牙耳机的第三方应用音频(浏览器、Spotify等),核心是利用系统提供的音频会话管理API,不同平台的实现方式如下:

Windows 平台

  • 使用Windows.Media.Control API:这是微软官方的全局媒体控制接口,能直接获取所有活跃的音频播放会话,无需针对特定应用适配。
    • 实现步骤:通过GlobalSystemMediaTransportControlsSessionManager.RequestAsync()获取会话管理器,枚举所有GlobalSystemMediaTransportControlsSession实例,定位处于播放状态的会话后,调用TryPauseAsync()或TryStopAsync()即可完成控制。
    • 要求:Windows 10 1809及以上版本,应用需声明backgroundMediaPlayback权限。

macOS 平台

  • 方案一:借助MPRemoteCommandCenter(AVFoundation框架):注册暂停/停止命令的响应逻辑,同时可主动向系统媒体会话发送控制指令,支持所有遵循系统媒体规范的应用。
  • 方案二:结合AppleScript与进程检测:
    • 用NSWorkspace获取当前播放音频的应用进程,针对Spotify可执行AppleScript命令:tell application "Spotify" to pause;针对Safari等浏览器,可通过AppleScript定位播放音频的标签页并执行暂停操作。
    • 这种方式兼容性强,适合控制各类常见应用。

注意事项

  • 避免使用进程注入、模拟键盘快捷键这类非常规手段,不仅兼容性差,还可能触发系统安全机制。
  • 确保应用拥有足够的系统权限,比如macOS需要获取“控制电脑”权限,Windows需要后台访问权限。

内容的提问来源于stack exchange,提问作者MARJAN KHAN

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.19 01:52:42