在播放80000采样率的现有声音时遇到一些问题。
首先,我会在终端机中找到以下声音设备列表:
python -m sounddevice
我得到:
0 Xonar DX: Multichannel (hw:0, 0), ALSA (2 in, 8 out)
…
* 19 default, ALSA (32 in, 32 out)
我想使用Xonar声卡:
sd.default.device = 0
sd.default.samplerate = 80000
sd.play(myarray)
我从端口音频收到无效的采样率错误。
如果我简单地做:
sd.play(myarray, 80000)
那很好。
但是,如果我使用多重处理,并且从Process内部调用play函数,则会收到ALSA欠载错误,是什么原因引起的?
我尝试使用流:
sd.Stream(device=0, samplerate=80000)
但是我又得到了端口音频的无效采样率。
当我不指定要使用的声卡时,实际上发生了什么?什么是:默认ALSA(32进32出)?
有没有一种方法可以使用流?