def cache(func):
"""Wrapper for cache the audio"""
@wraps(func)
def _(*args, **kwargs):
cache_handler = CacheHandler()
id_ = unique_id(func, *args, **kwargs)
cache = cache_handler.get(id_)
if cache:
audio_handler = AudioHandler()
audio_handler.aplay(base64.b64decode(cache), is_buffer=True)
# return cache
else:
func(*args, **kwargs)
with open('output.wav', 'rb') as f:
encoded_audio = base64.b64encode(f.read())
cache_handler.set(id_, encoded_audio, 86400*7)
# return buffer_
return _
评论列表
文章目录