如何从callback内找到调用callback函数的函数的参数?在
下面的代码(不完整)将启动一个调用回调函数的音频流。它使用pyaudio。在
现在,callback函数中有一些硬编码的东西。我正在努力摆脱这些。在
我已经阅读了pyaudio文档,似乎无法向callback函数传递额外的参数。我读过inspectpython模块,它的getsource或{}对我来说似乎很有趣,希望能找到给PlayStream函数的参数,但这并没有给我带来任何结果。在
如何从callback内引用SoundGeneratorObject参数?在
谢谢。在def PlayStream(SoundGeneratorObject):
p = pyaudio.PyAudio()
stream = p.open(format = p.get_format_from_width(SoundGeneratorObject.WIDTH),
channels = SoundGeneratorObject.CHANNELS,
rate = SoundGeneratorObject.BITRATE,
frames_per_buffer = SoundGeneratorObject.CHUNKSIZE,
output = True,
stream_callback = callback)
stream.start_stream()
while stream.is_active():
time.sleep(0.1)
stream.stop_stream()
stream.close()
p.terminate()
def callback(in_data, frame_count, time_info, status_flags):
signal = waves.next()
return (signal, pyaudio.paContinue)
waves = SoundGenerator()
PlayStream(waves)