如何從callback
中找到給函數調用callback
函數的參數?(python)從回調中查找父函數的參數
下面的代碼(不完整)將啓動一個調用回調函數的音頻流。它使用pyaudio。
現在,在callback
函數中有硬編碼的東西。我試圖擺脫那些。
我讀過pyaudio文檔,我似乎無法將額外的參數傳遞給callback
函數。我已經閱讀了inspect
python模塊,它的getsource
或getouterframes
,這對我來說似乎很有趣,希望能夠得到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)
你有沒有考慮命名'SoundgeneratorObje ct' - >'sound_generator_object'當它是一個參數嗎?我有困惑:) –
哈,好的,會做 - 新手程序員在這裏!感謝您的提示 – grabaldam
只要你保留**而不是來回更改,你可以選擇任何約定:) –