p.d*_*man 5 pyaudio python-3.x
我在使用 pyaudio 时遇到一些问题。
我正在使用 python 3.6.7、pyaudio 版本 0.2.11 开发 ubuntu 18.04,并具有以下依赖项:
基本上我正在运行这个:
python
import pyaudio
import wave
CHUNK = 2048*50
FORMAT = pyaudio.paInt16
CHANNELS = 2
RATE = 44100
RECORD_SECONDS = 3
WAVE_OUTPUT_FILENAME = "test.wav"
p = pyaudio.PyAudio()
info = p.get_host_api_info_by_index(0)
numdevices = info.get('deviceCount')
for i in range(0, numdevices):
if (p.get_device_info_by_host_api_device_index(0,i).get('maxInputChannels')) > 0:
print("Input Device id ", i, " - ", p.get_device_info_by_host_api_device_index(0, i).get('name'))
stream = p.open(format=FORMAT,
channels=CHANNELS,
rate=RATE,
input=True,
frames_per_buffer=CHUNK, input_device_index=0)
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()
Run Code Online (Sandbox Code Playgroud)
生成了 .wav 文件,但它不包含任何声音。
我知道我的麦克风(笔记本电脑中包含的麦克风正在工作),例如我可以使用 Skype。
这是脚本的输出:
Run Code Online (Sandbox Code Playgroud)ALSA lib pcm_dmix.c:1052:(snd_pcm_dmix_open) unable to open slave ALSA lib pcm_route.c:867:(find_matching_chmap) Found no matching channel >map ALSA lib pcm_dmix.c:1052:(snd_pcm_dmix_open) unable to open slave Input Device id 0 - HDA Intel PCH: ALC3228 Analog (hw:0,0) Input Device id 4 - sysdefault Input Device id 5 - pulse Input Device id 6 - default * recording * done recording
| 归档时间: |
|
| 查看次数: |
900 次 |
| 最近记录: |