gpt4 book ai didi

python-3.x - 使用 PyAudio 防止 ALSA 欠载

转载 作者:行者123 更新时间:2023-12-04 01:08:23 29 4
gpt4 key购买 nike

我写了一个小程序,它记录来自麦克风的声音并通过网络发送并在那里播放。我正在使用 PyAudio 来完成这项任务。它几乎可以正常工作,但在两台计算机上,我都收到来自 ALSA 的错误,表明发生了欠载。我在谷歌上搜索了很多,现在我知道什么是欠载了。但我仍然不知道如何解决这个问题。大多数时候声音很好。但是如果发生欠载,这听起来有点奇怪。在我的代码中有什么我应该注意的吗?感觉就像我在做一个简单的错误,我很想念它。

我的系统:python:python3.3,操作系统:Linux Mint Debian Edition UP7,PyAudio v0.2.7

最佳答案

您是否考虑过同步声音?
您没有提供代码,所以我的猜测是您需要在单独的线程中有一个计时器,它将执行每个 CHUNK_SIZE/RATE 毫秒的代码,如下所示:

silence = chr(0)*self.chunk*self.channels*2 
out_stream = ... # is the output stream opened in pyaudio

def play(data):
# if data has not arrived, play the silence
# yes, we will sacrifice a sound frame for output buffer consistency
if data == '':
data = silence
out_stream.write(data)

假设这段代码会定期执行,这样我们将始终提供一些音频数据来输出音频流。

关于python-3.x - 使用 PyAudio 防止 ALSA 欠载,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19230983/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com