我正在做一个项目,我必须控制 8 个音频通道。我正在使用 alsaaudio 库在 python3 中编程。一切正常,但我有这 3 个错误,一旦我启动程序,我的互联网连接就会中断。
在下面的代码中,您可以看到我如何初始化设备(AudioInjector 的八声卡)。请注意,如果缩进错误只是因为复制粘贴错误。
import alsaaudio
def start_device(ch):
variables.mut.acquire()
if variables.device_flag[ch] == 1:
try:
variables.device_PCM[ch] = alsaaudio.PCM(type=alsaaudio.PCM_PLAYBACK, mode = alsaaudio.PCM_NORMAL,device=variables.device_name[ch])
variables.device_flag[ch] = 0 # device open
print('device -%s- OPEN' % (variables.device_name[ch]))
except:
print("Except raised")
json_builder.jsonerror("Init device ch" + str(ch) +" FAILED to OPEN",ch)
variables.device_flag[ch] == 1
else:
print("Device -%s- already opened" % (variables.device_name[ch]))
variables.mut.release()
奇怪的是,这段代码有效,我可以驱动所有 8 个频道,但出现 3 个错误,我的互联网停止工作:
消息:“模块‘alsaaudio’没有‘PCM’成员”
消息:“模块 'alsaaudio' 没有 'PCM_PLAYBACK' 成员”
消息:“模块 'alsaaudio' 没有 'PCM_NORMAL' 成员”
( device=device_name[ch] 有效,没有错误)