pyaudio - pyaudio 生成空白 .wav 文件
问题描述
import pyaudio
import wave
CHUNK = 1024
FORMAT = pyaudio.paInt16
CHANNELS = 2
RATE = 44100
RECORD_SECONDS = 5
WAVE_OUTPUT_FILENAME = "output.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()
# close PyAudio (7)
p.terminate()
该output.wav
文件已成功生成,大小约为。881KB。但是,当我玩它时,它是空白的。
目前,我正在尝试通过 MacBook Pro 的内置麦克风录制音频。
有人可以帮我弄这个吗?
解决方案
事实证明,这与操作系统有关。我尝试在 Ubuntu 机器上执行相同的操作,并且成功了。在 macOS Catalina 上,它会生成空白文件。
我需要更深入地研究 macOS 以找出问题所在。
推荐阅读
- html - SVG 百分比坐标已关闭
- scala - 使用它自己的一些参数实例化一个 Scala 案例类参数
- c++ - OpenGL 4x4 矩阵通过 X 轴移动对象
- python - 如何使用 selenium python 抓取雅虎财经搜索自动建议结果?
- javascript - ckeditor更改html代码结构
- batch-file - 在 Windows 脚本中将文件添加到存档
- c# - web api服务随机死亡而不抛出异常?
- c++ - 变量“std::ofstream outfile”具有初始化程序但类型不完整
- ubuntu - 如何在 Ubuntu 18.04 中安装 Aegisub
- python-3.x - matplotlib 0.99 Mplot3d AttributeError:“列表”对象没有属性“ndim”