waveOutWrite使线程意外无声无息的终止了
我在做一实时播音程序时,是这样做的,一个网络缓冲队列和一个本地缓冲队列,用一个线程控制从网络缓冲取数据放入本地缓冲队列,并将放入本地缓冲的数据块用prepare后waveOutWrite写入音频设备,音频设备播放完后会使用我的回调函数,将播放完的数据块Unprepare掉,再发送一个该数据块可写的信号给线程。
现在我遇到的问题是:刚开始运行,音效和实时性都是比较好的,但过了不等的时间后就没有声音了,此时在线程中加断点发现线程已经没有运行了,而线程唯一的出口是没有可能被更改的,后来在线程里加入打印信息发现播音虽然会在不等的时间后停,但最终都是停在了waveOutWrite这个函数上,这函数没有执行完就线程退出了,请问各位兄弟姐妹,这个到底是什么原因?应该怎么解决?