Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/279.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/variables/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 对象变量未更改_Python_Variables_Object_Python Multithreading - Fatal编程技术网

Python 对象变量未更改

Python 对象变量未更改,python,variables,object,python-multithreading,Python,Variables,Object,Python Multithreading,我希望我没有错过这个问题的任何明显答案,但我希望你能帮我解决我的一个小问题。 我目前正在用python编写一个程序来做一些音频处理和反馈预测。到目前为止,我有一个类,我希望以10毫秒的间隔运行,并在包含音频数据的缓冲区上工作。稍后,我会希望使用microfon的实时输入来填充缓冲区,但目前我只使用第二个类,每10毫秒将音频数据块流到缓冲区。至少这是它应该做的 我的流式处理类具有以下功能,它是在一个新线程中使用 启动新线程(audioStreamer.streamAudio()) self.fee

我希望我没有错过这个问题的任何明显答案,但我希望你能帮我解决我的一个小问题。 我目前正在用python编写一个程序来做一些音频处理和反馈预测。到目前为止,我有一个类,我希望以10毫秒的间隔运行,并在包含音频数据的缓冲区上工作。稍后,我会希望使用microfon的实时输入来填充缓冲区,但目前我只使用第二个类,每10毫秒将音频数据块流到缓冲区。至少这是它应该做的

我的流式处理类具有以下功能,它是在一个新线程中使用
启动新线程(audioStreamer.streamAudio())

self.feedbackPred
是对主类的引用,它每10ms对主方法使用一个计时器。这也行得通,但是,上面调用的
audioStreamCallback
在我的操作中表现得很奇怪:

def audioStreamCallback(self, in_data, frame_count, time_info, status_flags):
    print "chunk_s:", self.chunk_s     
    result = np.fromstring(in_data, dtype=np.float32)
        if frame_count == self.chunk_s:
            self.audioBuf = result
            print "setting audiobuf size to chunk_s"
            self.aduioBufSize = self.chunk_s
            print "after setting, self.audioBufSize:", self.audioBufSize
忽略那些丑陋的调试打印和过于复杂的标题,我需要将该标题用于麦克风外壳。我的输出令人遗憾:

chunk_s: 160
setting audiobuf size to chunk_s
after setting, self.audioBufSize: 0
我希望你们中的一些人能够指出我做错了什么,即使使用这个最小的代码示例。有趣的是,一个更小的测试用例,它使用一个以特定间隔运行的函数和一个填充缓冲区的不同线程,对我来说效果很好

非常感谢你的帮助

问题是:

self.aduioBufSize = self.chunk_s
而恰恰是
aduio..
。只是一个打字错误

天哪,好的,非常感谢,只是意味着我完全失明了。与其浪费更多的时间去寻找,不如现在就感觉到自己受到了很多伤害!
self.aduioBufSize = self.chunk_s