3

我正在运行 Python 代码来记录在 Google Compute Engine VM(Ubuntu 18.04)中的浏览器上播放的音频。

这是我正在运行的基本代码:

import sounddevice as sd  
samplerate = 44100  # Hertz  
duration = 30  # seconds  
mydata = sd.rec(0, samplerate=samplerate,channels=2)  

当我以用户身份 ssh 进入它时,sounddevice 可以正常工作,但是当我更改为 root 时,PortAudio 返回此错误:

Traceback (most recent call last):  
  File "<stdin>", line 1, in <module>  
  File "/home/gowthamsathyan/v/lib/python3.6/site-packages/sounddevice.py", line 280, in rec
    ctx.input_dtype, callback, blocking, **kwargs)  
  File "/home/gowthamsathyan/v/lib/python3.6/site-packages/sounddevice.py", line 2498, in start_stream
    **kwargs)  
  File "/home/gowthamsathyan/v/lib/python3.6/site-packages/sounddevice.py", line 1382, in __init__
    **_remove_self(locals()))  
  File "/home/gowthamsathyan/v/lib/python3.6/site-packages/sounddevice.py", line 778, in __init__
    extra_settings, samplerate)  
  File "/home/gowthamsathyan/v/lib/python3.6/site-packages/sounddevice.py", line 2571, in _get_stream_parameters  
    info = query_devices(device)  
  File "/home/gowthamsathyan/v/lib/python3.6/site-packages/sounddevice.py", line 569, in query_devices
    raise PortAudioError('Error querying device {0}'.format(device))
sounddevice.PortAudioError: Error querying device -1  

两者都发生在同一个虚拟机上。我什至在运行代码之前以 root 身份启动了 Pulseaudio。

如果我做错了什么以及是否有解决方法,请告诉我。
谢谢

4

0 回答 0