Python 3.x pyaudio在录制声音时提供空输出文件[MacOS Mojave 10.14.6]
我想用python3中的pyaudio从音频输入录制并写入wav文件。在我们的ubuntu实验室计算机上运行代码时,它可以工作,但在我的mac上运行时,它不会向文件写入任何数据,并且我会收到一个正确持续时间的静默wav文件Python 3.x pyaudio在录制声音时提供空输出文件[MacOS Mojave 10.14.6],python-3.x,macos-mojave,pyaudio,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 = "sou
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代码的脚本 解决方案:确保您正在运行的应用程序具有麦克风访问权限。对我来说,我从终端应用程序运行脚本,并确保它具有麦克风访问权限: