FMX 在 OS X 中更改和静音主音量
FMX Change and mute master volume in OS X
我写了一个 FMX (FireMonkey) 应用程序,我想在 OS X 中更改(增加/减少)和静音/取消静音主音量输出。在 Delphi 或 C++ 中生成器。或者我会通过模拟键盘特定键的按键来实现。
对于 Windows,通过使用 SendInput() 模拟按键非常容易,使用 keybd_event() 甚至更容易。
对我来说 windows 是这样的:
// vkVolumeUp / vkVolumeDown / vkVolumeMute
// VK_VOLUME_UP / VK_VOLUME_DOWN / VK_VOLUME_MUTE
keybd_event(vkVolumeUp, 1, 0, 0);
keybd_event(vkVolumeUp, 1, KEYEVENTF_KEYUP, 0);
但是我无法为 OS X 编译它,因为 IDE 告诉我它不知道这个函数。如果可能的话,直接改变音量的方法会更好。
这可能是一种冗长、低效的方法,但您可以像这样从终端将音量静音:
osascript -e 'set volume with output muted'
然后像这样增加 20 个等级
osascript -e 'set volume output volume ((output volume of (get volume settings)) + 20)'
我想您可以使用 system()
命令来执行这些命令,直到有人告诉您更好的方法。
我写了一个 FMX (FireMonkey) 应用程序,我想在 OS X 中更改(增加/减少)和静音/取消静音主音量输出。在 Delphi 或 C++ 中生成器。或者我会通过模拟键盘特定键的按键来实现。
对于 Windows,通过使用 SendInput() 模拟按键非常容易,使用 keybd_event() 甚至更容易。
对我来说 windows 是这样的:
// vkVolumeUp / vkVolumeDown / vkVolumeMute
// VK_VOLUME_UP / VK_VOLUME_DOWN / VK_VOLUME_MUTE
keybd_event(vkVolumeUp, 1, 0, 0);
keybd_event(vkVolumeUp, 1, KEYEVENTF_KEYUP, 0);
但是我无法为 OS X 编译它,因为 IDE 告诉我它不知道这个函数。如果可能的话,直接改变音量的方法会更好。
这可能是一种冗长、低效的方法,但您可以像这样从终端将音量静音:
osascript -e 'set volume with output muted'
然后像这样增加 20 个等级
osascript -e 'set volume output volume ((output volume of (get volume settings)) + 20)'
我想您可以使用 system()
命令来执行这些命令,直到有人告诉您更好的方法。