如何解决我在使用 pyaudio 时遇到问题我无法用这个库录制声音
几天前,我尝试通过 pip install pyaudio 在 pycharm 中安装 pyaudio,但我在使用 Visual C++ 工具时遇到了问题,因为我使用的是旧版本,有人告诉我安装 pipwin(pip install pipwin)并安装 pyaudio pipwin(pipwin 安装 pyaudio)。没关系。我可以播放 .WAV 文件,但无法录制音频
import pyaudio
import wave
chunk = 1024 # Record in chunks of 1024 samples
sample_format = pyaudio.paInt16 # 16 bits per sample
channels = 2
fs = 44100 # Record at 44100 samples per second
seconds = 3
filename = "output.wav"
p = pyaudio.PyAudio() # Create an interface to PortAudio
print('Recording')
stream = p.open(format=sample_format,channels=channels,rate=fs,frames_per_buffer=chunk,input=True ) #line 19 error
frames = [] # Initialize array to store frames
# Store data in chunks for 3 seconds
for i in range(0,int(fs / chunk * seconds)):
data = stream.read(chunk)
frames.append(data)
# Stop and close the stream
stream.stop_stream()
stream.close()
# Terminate the PortAudio interface
p.terminate()
print('Finished recording')
# Save the recorded data as a WAV file
wf = wave.open(filename,'wb')
wf.setnchannels(channels)
wf.setsampwidth(p.get_sample_size(sample_format))
wf.setframerate(fs)
wf.writeframes(b''.join(frames))
wf.close()
我的错误是
File "F:/record_voice_pyaudio/RecordVoice.py",line 19,in <module>
input=True)
File "C:\Users\Ardin\AppData\Local\Programs\Python\Python37-32\lib\site-packages\pyaudio.py",line 750,in open
stream = Stream(self,*args,**kwargs)
File "C:\Users\Ardin\AppData\Local\Programs\Python\Python37-32\lib\site-packages\pyaudio.py",line 441,in __init__
self._stream = pa.open(**arguments)
OSError: [Errno -9998] Invalid number of channels
解决方法
问题解决了。我使用了没有扬声器的麦克风,实际上我的麦克风只有一个通道,所以我将其更改为
channels = 1
问题解决了。
如果有人遇到同样的问题,首先检查编译器启用的麦克风,然后检查麦克风的能力
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。