繁体   English   中英

在Python(Linux)中使用PyAudio库

[英]Using PyAudio libraries in Python (Linux)

我正在尝试实现PyAudio库的方法,我想更改默认的输入设备,因为我已经将基于USB的麦克风连接到我的笔记本电脑并且没有使用内置的MIC,但是这样做面临着一些问题,

这是该方法的完整细节,

Help on method open in module pyaudio:

open(self, *args, **kwargs) method of pyaudio.PyAudio instance
    Open a new stream. See constructor for
    :py:func:`Stream.__init__` for parameter details.

    :returns: A new :py:class:`Stream`

class pyaudio.Stream(PA_manager, rate, channels, format, input=False, output=False, input_device_index=None, output_device_index=None, frames_per_buffer=1024, start=True, input_host_api_specific_stream_info=None, output_host_api_specific_stream_info=None, stream_callback=None)
PortAudio Stream Wrapper. 

使用PyAudio.open()创建一个新的Stream。

__init__(PA_manager, rate, channels, format, input=False, output=False, input_device_index=None, output_device_index=None, frames_per_buffer=1024, start=True, input_host_api_specific_stream_info=None, output_host_api_specific_stream_info=None, stream_callback=None)

初始化流; 这应该由PyAudio.open()调用。 流可以是输入,输出或两者都可以。

我想做的就是使用

PyAudio.open() 

方法,并将input_device_index=的值设置为1

但是我不明白如何在此函数中传递参数以及如何使用此init

我已经尝试过的是

p = pyaudio.PyAudio()
p.open(__init__(input_device_index=1))

但是它给出了错误。

下面是这些方法的完整文档,初始化“> http://people.csail.mit.edu/hubert/pyaudio/docs/#pyaudio.Stream。INIT

*args将让任何位置参数作为列表传递给函数。

**kwargs会将所有关联参数作为dict传递给函数。

例:

def a(*args,**kwargs):
     print args
     print kwargs

a('abc','75449',test=None,abc=-1)

打印:

['abc','75449']
{'test':None,'abc':-1}
p = pyaudio.PyAudio()
p.open(__init__(input_device_index=1))

没有任何意义,因为未定义__init__ 通过初始化PyAudio调用PyAudio.__init__ ,这将是

p = pyaudio.PyAudio(input_device_index=1)
p.open()

尽管open似乎使用*args**kwargs传递了所有属性,所以它可能是

p = pyaudio.PyAudio()
p.open(input_device_index=1)

任何比这更精确的事情都需要对PyAudio进行更好的提问或体验,而我都没有。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM