【发布时间】:2018-08-13 19:31:50
【问题描述】:
我正在尝试使用 PyAudio 处理来自麦克风的实时数据。我遵循了PyAudio Documentation 和this blog post 上的示例。当我在没有回调的情况下使用 stream.is_active() 时,我没有错误并且一切正常,但是如果我使用回调,我会得到以下“SystemError:新样式 getargs 格式但参数不是元组”
我已经查看了Where is the error? “SystemError: new style getargs format but argument is not a tuple” 的问题,但是,这并不能转化为我的问题。我将在我的代码下面解释我尝试过的事情:
FORMAT = pyaudio.paInt32
CHANNELS = 2
RATE = 44100
CHUNK = 1024
def callback(in_data, frame_count, time_info, flag):
print('Hi')
audio = pyaudio.PyAudio()
# start Recording
stream = audio.open(format=FORMAT, channels=CHANNELS,
rate=RATE, input=True,
frames_per_buffer=CHUNK,stream_callback = callback)
stream.start_stream()
while stream.is_active():
time.sleep(0.1)
print('1')
stream.stop_stream()
stream.close()
audio.terminate()
我已确定在我添加stream_callback = callback 的任何时候都会出现错误。如果我删除它,我不会收到错误消息。当我只包含上面的语句时,我的回调中的确切代码似乎不会影响错误(尽管我的整个代码计算了两个通道之间的时间延迟)。我的回调参数是直接从文档中定义的。我不确定还可以尝试什么,因为我没有直接在回调中做任何事情。
【问题讨论】:
标签: python signal-processing pyaudio