pyaudio可以识别具有不正确MaxInputChannel的音频接口,但sounddevice工作正常

2024-09-29 21:36:12 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个TASCAM US16x08音频接口,有16个输入。 我确保窗口设置US16x08作为默认驱动程序,并且它确实录制来自不同频道的声音

我运行代码并返回OSError: [Errno -9998] Invalid number of channels

因此,我使用以下代码检查连接的设备,并返回US16x08驱动程序只有2个MaxInputChannel。奇怪的部分是sounddevice识别接口有16个输入

import pyaudio
p = pyaudio.PyAudio()
for x in x range(0,p.get_device_count()):
    print (p.get_device_info_by_index(x))

{'index': 1, 'structVersion': 2, 'name': 'Microphone (US-16x08)', 
'hostApi': 0, 'maxInputChannels': 2, 'maxOutputChannels': 0, 'defaultLowInputLatency': 0.09,
'defaultLowOutputLatency': 0.09, 'defaultHighInputLatency': 0.18, 'defaultHighOutputLatency': 0.18, 
'defaultSampleRate': 44100.0}
####sounddevice result####
   0 Microsoft Sound Mapper - Input, MME (2 in, 0 out)
>  1 Microphone (US-16x08), MME (16 in, 0 out)
   2 Stereo Mix (Realtek High Defini, MME (2 in, 0 out)
   3 Microsoft Sound Mapper - Output, MME (0 in, 2 out)
<  4 Speakers (US-16x08), MME (0 in, 8 out)
   5 Speakers (Realtek High Definiti, MME (0 in, 2 out)
   6 Speakers (Realtek HD Audio output), Windows WDM-KS (0 in, 2 out)
   7 Stereo Mix (Realtek HD Audio Stereo input), Windows WDM-KS (2 in, 0 out)
   8 Microphone (Realtek HD Audio Mic input), Windows WDM-KS (2 in, 0 out)
   9 Speakers (US-16x08 Audio), Windows WDM-KS (0 in, 8 out)
  10 Microphone (US-16x08 Audio), Windows WDM-KS (16 in, 0 out)

我在不同的机器上尝试了我的python代码,它工作得很好,所以我认为我的代码不是问题所在,但更多的是关于pyaudio(因为sounddevice工作得很好,所以portaudio不应该相关?) 我想继续使用pyaudio,否则我需要删除大量的代码

谁知道问题出在哪里


Tags: 代码inwindowsoutaudiouskspyaudio

热门问题