python-3.x - pyaudio 在录制声音时给出空输出文件 [MacOS Mojave 10.14.6]

标签 python-3.x macos-mojave pyaudio

我想从音频输入进行录音并使用python3中的pyaudio写入wav文件。当在我们的 ubuntu 实验室计算机上运行代码时,它可以工作,但是当在我的 mac 上运行它时,它不会向文件写入任何数据,并且我会收到一个持续时间正确的静默 wav 文件。

import pyaudio
import wave

CHUNK = 1024
FORMAT = pyaudio.paInt16
CHANNELS = 2
RATE = 44100
RECORD_SECONDS = 5
WAVE_OUTPUT_FILENAME = "sound.wav"

p = pyaudio.PyAudio()

stream = p.open(format=FORMAT,
                channels=CHANNELS,
                rate=RATE,
                input=True,
                frames_per_buffer=CHUNK)

print("* recording")

frames = []

for i in range(0, int(RATE / CHUNK * RECORD_SECONDS)):
    data = stream.read(CHUNK)
    frames.append(data)

print("* done recording")

stream.stop_stream()
stream.close()
p.terminate()

wf = wave.open(WAVE_OUTPUT_FILENAME, 'wb')
wf.setnchannels(CHANNELS)
wf.setsampwidth(p.get_sample_size(FORMAT))
wf.setframerate(RATE)
wf.writeframes(b''.join(frames))
wf.close()

最佳答案

我的问题是我运行 Python 脚本的应用没有麦克风访问权限(而且它也没有请求访问权限)。我正在从 VS Code 的终端内置运行脚本。

解决方案:确保您正在运行的应用具有麦克风访问权限。对我来说,我从终端应用程序运行脚本并确保它具有麦克风访问权限:

enter image description here

关于python-3.x - pyaudio 在录制声音时给出空输出文件 [MacOS Mojave 10.14.6],我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58248136/

相关文章:

Python - 打破和分组用户输入

python - Django queryset order_by绝对值

xcode - 使用 C++17 std::filesystem 是否需要 MacOS 10.15? (Xcode 11.1)

swift - MacOS 使用 swift 4 更改菜单栏图标

python - 在调色板模式下绘制 Pillow 图像中多边形之外的所有内容?

python - 使用 Tkinter 显示条目文本时出现问题

macos - 错误 : Fetching/usr/local/Homebrew/Library/Taps/homebrew/homebrew-core failed

Python 如何将 pyaudio 字节转换为虚拟文件?

python - AttributeError : Could not find PyAudio; check installation. ..无法使用语音识别

python - 在线程中使用384000Hz的PyAudio