def check_silence(self, buf):
volume = audioop.rms(buf, 2)
if (volume >= config.THRESHOLD):
self.silence_timer = time.time()
if (self.append == False):
if (self.hatch.get('debug') == True):
print ('starting append mode')
self.timer = time.time()
for sbuf in self.silence_buffer:
self.prepare.prepare(sbuf, volume)
self.silence_buffer = [ ]
self.append = True
self.silence_counter = 0
else:
self.silence_counter += 1
self.silence_buffer.append(buf)
if (len(self.silence_buffer) > 3):
del self.silence_buffer[0]
if (self.out != None and self.out.closed != True):
self.out.write(buf)
if (self.append == True):
self.prepare.prepare(buf, volume)
if (self.append == True and self.silence_timer > 0
and self.silence_timer + config.MAX_SILENCE_AFTER_START < time.time()
and self.live == True):
self.stop("stop append mode because of silence")
if (self.append == True and self.timer + config.MAX_TIME < time.time()
and self.live == True):
self.stop("stop append mode because time is up")
评论列表
文章目录