0

我试图让我的音频接口连续循环播放相同的音频。有人推荐使用 sounddevice 库中的“OutputStream”函数。这是我为此编写的代码:

sounddevice.default.device = "Focusrite USB ASIO, ASIO"
sounddevice.default.samplerate = 48000
stream = sounddevice.OutputStream()
stream.start()
stream.write(data)

最后一行代码给了我错误:

sounddevice.PortAudioError:等待超时 [PaErrorCode -9987]

我究竟做错了什么?

4

1 回答 1

1

我让它工作的方式是使用:

with sounddevice.OutputStream(device="Focusrite USB ASIO, ASIO", channels=8, callback=callback, samplerate=samplesPerSecond)

这会重复调用回调函数。在回调函数中,我设置了输出:

def callback(outdata, frames, time, status):
     for i in range(8):
          channels[i] = audioData
     multiChannel = np.column_stack((channels[0], channels[1], channels[2], channels[3], channels[4], channels[5], channels[6], channels[7]))
     outdata[:] = multiChannel
于 2020-05-14T16:03:04.860 回答