- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在开发一个项目,需要在 Python 中获取当前系统音频输出级别。基本上,我想知道在 Linux 系统上使用 Python 时扬声器当前发出的声音有多大。我不需要知道扬声器的确切音量,我想要的是相对音量。我在网上没有找到任何好的资源。
最佳答案
看到您的问题并了解到我无法在 macOS 上构建 pyalsaaudio
后,我想提供一个额外的答案,以了解具体如何在 macOS 上完成此操作,因为它不是以跨平台方式抽象的。
(我知道这对您的直接用例没有帮助,但我有预感,我不是唯一一个因这个问题而对我们也可以运行的解决方案感兴趣的 Mac 用户。)
在 macOS 上,您可以 get the output volume通过运行一些 AppleScript:
$ osascript -e 'get volume settings'
output volume:13, input volume:50, alert volume:17, output muted:false
我将该调用包装在 Python 函数中,以将音量 + 静音状态解析为简单的 0-100 范围:
import re
import subprocess
def get_speaker_output_volume():
"""
Get the current speaker output volume from 0 to 100.
Note that the speakers can have a non-zero volume but be muted, in which
case we return 0 for simplicity.
Note: Only runs on macOS.
"""
cmd = "osascript -e 'get volume settings'"
process = subprocess.run(cmd, stdout=subprocess.PIPE, shell=True)
output = process.stdout.strip().decode('ascii')
pattern = re.compile(r"output volume:(\d+), input volume:(\d+), "
r"alert volume:(\d+), output muted:(true|false)")
volume, _, _, muted = pattern.match(output).groups()
volume = int(volume)
muted = (muted == 'true')
return 0 if muted else volume
例如,在 MacBook Pro 上的各种音量栏设置:
>>> # 2/16 clicks
>>> vol = get_speaker_output_volume()
>>> print(f'Volume: {vol}%')
Volume: 13%
>>> # 2/16 clicks + muted
>>> get_speaker_output_volume()
0
>>> # 16/16 clicks
>>> get_speaker_output_volume()
100
关于python - 如何在python中获取系统输出音量?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49662850/
这样的问题:我有一个用两个声道录制的视频文件。我试图通过此代码关闭左声道: MediaPlayer mp; .... mp.setVolume(0.f, 1f); ... 在平板电脑上效果很好(右音量
我正在使用: SystemSoundID soundID; AudioServicesCreateSystemSoundID((CFURLRef)filePath, &soundID); AudioS
是否可以使用代码更改 Mac 的音量? 最佳答案 如果您使用 C++ 进行编码,则可以使用 Carbon API http://developer.apple.com/carbon/您能更具体地说明您
我正在使用 HTML 5、jQuery 和 Amplitude.js 从头开始创建响应式音频播放器,用于实时流式传输。 播放器右侧是一个“扬声器图标”,单击该图标可静音,但只需悬停鼠标即可显示垂直
我在Flash Professional CC库中添加了声音,并让程序将其转换为MP3。如果我创建一个图层并将声音拖放到舞台上,则声音可以很好地播放(即使在通过Swiffy传递之后),但是到目前为止,
我正在尝试播放媒体类型为 STREAM_ALARM 的 radio 流,并使用硬件按钮更改其音量。 它需要是 STREAM_ALARM,因为它实际上是一个闹钟:即使插入耳机和/或手机设置为静音,它也应
我有 2 个媒体播放器播放不同的声音。我想使用 ProgressBar 来控制 MediaPlayer 的声音。 我知道如何使用进度条控制系统声音,但它会将两个媒体播放器的音量设置为相同,这就是我想要
我正在创建一个带有播放、暂停和音量 slider 的广播流媒体应用。 我已经使用 MPVolumeView 实现了音量 slider ,但遗憾的是它无法正常工作。 任何人都可以告诉我正确的代码,以便音
我到处搜索,但找不到问题的答案。 我在我的应用程序上播放多种声音,并让用户通过按钮调节音量。所以如果用户愿意的话,他可以用0.5的音量来播放。所以我有这个代码: NSString *path = [[
在我的应用程序中,我必须在点击按钮时播放警报声,当铃声音量设置为某个值时我可以播放它,但我的问题是当用户将铃声音量设置为零时,我该如何播放声音最大吗? 最佳答案 按照官方规定,你不能这样做。作为一名智
我好像找不到解决办法。请帮助我。 我想做的是有一个简单的音量 slider 。 所以,如您所见,橙色部分是我的音量 slider 。 这是我的 jQuery: var mouseDown = fals
Ubuntu 的启动/登录声音可能非常响亮,但我确实喜欢这样。我写了一个脚本,使用 amixer 将音量设置为 25%。这是我喜欢的音量,但当我使用电视输出或耳机时,我必须调高音量。我似乎无法让脚本在
我在 Android 上使用 APPRTCdemo 应用程序。我试图让它播放来自其他对等方的声音,与 Android 设置中设置的音量一样大。因此,如果用户将设备静音,则不会听到音频。我几乎尝试了每个
我正在为 ios7 编写一个应用程序,它需要控制内置音乐播放器的音量或一般的主音量级别。我试过使用 MediaPlayer.framework 但不确定是否正确。我想知道解决这个问题的最佳方法是什么。
我们的软件应该播放声音(不仅仅是小的噪音,还有语音等)。我想知道音量控制怎么样。 Windows Vista 风格指南说要在 Windows 混音器中定义应用程序特定的音量控制。 但是 Windows
我的应用程序的一部分有一个媒体组件,我正在寻找一个我可以使用的不错的音量 slider ,而不是为此目的看起来有点丑陋的 JSlider(或者具体来说,具有自定义视觉效果的扩展 JSlider 会很好
你好,我试着改变我的 SKAudioNode 的音量,有人知道怎么做吗?我试图找到解决方案,但没有找到......AudioNode 类对我来说似乎很薄。我也无法访问嵌套的 Audio 类以从那里尝试
基本上,如果我更改 slider 级别,它只会影响单击而不影响 keydown,即使它们调用相同的 playSound 函数也是如此。不知道我搞砸了什么 function App() { cons
我在 txt 中有一个文件列表,我需要连接(文件是相同的编解码器和大小并且有声音),而不是我需要添加一个音量为 50% 的音轨。谢谢 这是我用来连接的命令,但这用新的音轨替换了音频,相反我需要与文件中
我正在寻找在我的 .NET 2.0 WinForms 应用程序中使用的类似轨迹栏的用户/自定义控件。 注意:我不是在问如何控制 WinForms 应用程序中的音量。 任何人都知道可以在我的应用程序中使
我是一名优秀的程序员,十分优秀!