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

我无法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)

输出是


array([[0.],

       [0.],

       [0.],

       ...,

       [0.],

       [0.],

       [0.]], dtype=float32)

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


我已确认设备设置正确:


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)

这与 Mac OS 中的权限有关吗?我正在使用莫哈韦沙漠。


慕容708150
浏览 214回答 2
2回答

HUX布斯

我遇到了类似的问题,因为 vscode 的终端没有请求操作系统的许可才能使用麦克风。一旦我在普通终端上启动它并接受请求,它在两个终端上都运行良好。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python