无法使用声音设备录制声音

Ger*_*ard 4 python audio-recording python-sounddevice

我无法sounddevice在 python 中使用录制音频。此代码之前可以在旧版本的 Mac OS 上运行。

python3代码如下:

import sounddevice as sd
import numpy as np
fs = 48000
duration=5
rec = sd.rec(int(duration * fs), samplerate=fs, channels=1, blocking=True)
print(rec)
Run Code Online (Sandbox Code Playgroud)

输出是

array([[0.],
       [0.],
       [0.],
       ...,
       [0.],
       [0.],
       [0.]], dtype=float32)
Run Code Online (Sandbox Code Playgroud)

虽然此处并未显示所有值,但我已确认它们全部为零。当声音记录正确时,这些值大部分都是非零的。

我已确认设备设置正确:

sd.default.device # Output is [2, 3]

python3 -m sounddevice
  0 DisplayPort, Core Audio (0 in, 2 out)
  1 DisplayPort, Core Audio (0 in, 2 out)
> 2 MacBook Pro Microphone, Core Audio (1 in, 0 out)
< 3 MacBook Pro Speakers, Core Audio (0 in, 2 out)
Run Code Online (Sandbox Code Playgroud)

这与 Mac 操作系统的权限有关吗?我正在使用莫哈韦沙漠。

谢谢。

小智 5

我遇到了类似的问题,因为 vscode 的终端没有请求操作系统的许可来使用麦克风。当我在常规终端上启动它并接受请求后,它在两个终端上都运行得很好。

希望我能帮忙