我在 Windows 10 计算机上使用蓝牙耳机。
我面临的问题是,每当蓝牙耳机连接到计算机时,Windows 声音设置中的音量都会重置为 100%,而忽略了上次使用时设置的较低值。由于我经常忘记这个事实,所以我的耳朵和听力经常受到伤害。
有没有办法让 Windows 10 在连接到蓝牙设备时设置较低的“默认”音量,或者让它记住我在上次连接时设置的值?我已经仔细检查了系统设置和 Microsoft 文档,但没有成功。
答案1
您有两个选择:
- 耳喇叭
- 拥有自己的脚本
选项 1:从 Microsoft 商店下载 EarTrumpet。安装后单击设置。在“设置”中,您可以调整各个音频设备的默认音量,包括您的蓝牙耳机。
选项 2:打开任何文本编辑器。使用此代码:
$DeviceName = *"Your Bluetooth Headphones Name"*
$DesiredVolume = 50
Add-Type -TypeDefinition @'
using System.Runtime.InteropServices;
public class VolumeControl {
[DllImport("winmm.dll")]
public static extern int waveOutGetVolume(IntPtr hwo, out uint pdwVolume);
[DllImport("winmm.dll")]
public static extern int waveOutSetVolume(IntPtr hwo, uint dwVolume);
}
'@
$audioDevices = Get-WmiObject -Query "Select * From Win32_SoundDevice"
$bluetoothDevice = $audioDevices | Where-Object {$_.Name -eq $DeviceName}
if ($bluetoothDevice) {
$volume = [math]::round(($DesiredVolume * 65535) / 100)
[VolumeControl]::waveOutSetVolume([System.IntPtr]::Zero, $volume)
}
代替“您的蓝牙耳机名称”将其设置为与 Windows 声音设置中显示的蓝牙耳机完全相同的名称(保留名称两边的引号)。调整$所需成交量调整到您喜欢的音量级别(0 到 100)。然后以“.ps1”扩展名保存文件。右键单击保存的文件,然后单击“使用 PowerShell 运行”(您可能需要以管理员权限运行)。
但是为了让每次连接蓝牙耳机时脚本自动运行,您可以使用 Windows 任务计划程序创建一个触发蓝牙设备连接事件的任务。
要在 Windows 任务计划程序中创建在蓝牙耳机连接时触发 PowerShell 脚本的任务,请按照以下步骤操作:
按
Win + R
打开运行对话框,输入taskschd.msc
,然后按 Enter 打开任务计划程序。在任务计划程序窗口中,单击左侧窗格中的“任务计划程序库”。
右键单击中间窗格并从上下文菜单中选择“创建新任务”。
在“创建任务”窗口的“常规”选项卡中,为您的任务命名(例如,“设置蓝牙耳机音量”) 并提供可选的描述。
单击“触发器”选项卡和“新建...”按钮。
在“新触发器”窗口中,将“开始任务”下拉菜单更改为“在事件发生时”。
配置事件触发器设置如下:
- 日志:系统
- 来源:BTHUSB
- 事件ID:17(事件ID 17表示蓝牙设备连接成功)
单击“确定”保存触发器。
单击“操作”选项卡,然后单击“新建...”按钮。
在“新建操作”窗口中,将“操作”下拉菜单更改为“启动程序”。
在“程序/脚本”字段中,输入
powershell.exe
。在“添加参数(可选)”字段中,输入以下内容:
-ExecutionPolicy Bypass -File *"Full path to your PowerShell script"*
将“PowerShell 脚本的完整路径”替换为您之前创建的“.ps1”文件的完整路径,包括文件名。例如:
-ExecutionPolicy Bypass -File "C:\Users\YourUsername\Documents\BluetoothVolume.ps1"
单击“确定”保存操作。
可选:您可以单击“条件”和“设置”选项卡来自定义您的任务。
单击“确定”保存并创建新任务。
每当您的蓝牙耳机连接到计算机时,任务计划程序都会自动运行您的 PowerShell 脚本。它在大多数情况下都应该有效。