gpt4 book ai didi

python - 我无法使用 pyaudio 运行简单代码 - [Errno -9996] 无效输出设备(无默认输出设备)

转载 作者:行者123 更新时间:2023-12-02 04:10:19 27 4
gpt4 key购买 nike

(我是 python 新手)

我正在尝试运行有关 pyaudio 的简单代码。我刚刚复制并粘贴了我在 pyaudio 网站上找到的代码。

我收到这个错误:

    OSError                                   Traceback (most recent call last)
<ipython-input-7-3fc52ceecbf3> in <module>()
15 channels=wf.getnchannels(),
16 rate=wf.getframerate(),
---> 17 output=True)
18
19 # read data

/home/gustavolg/anaconda3/lib/python3.5/site-packages/pyaudio.py in open(self, *args, **kwargs)
748 """
749
--> 750 stream = Stream(self, *args, **kwargs)
751 self._streams.add(stream)
752 return stream

/home/gustavolg/anaconda3/lib/python3.5/site-packages/pyaudio.py in __init__(self, PA_manager, rate, channels, format, input, output, input_device_index, output_device_index, frames_per_buffer, start, input_host_api_specific_stream_info, output_host_api_specific_stream_info, stream_callback)
439
440 # calling pa.open returns a stream object
--> 441 self._stream = pa.open(**arguments)
442
443 self._input_latency = self._stream.inputLatency

OSError: [Errno -9996] Invalid output device (no default output device)

我不知道如何解决这个错误。我不知道这是否与音频驱动程序有关,或者代码是否需要输出声明。我的意思是,如果我必须选择一个输出。

代码:

import pyaudio
import wave
import sys

CHUNK = 1024


wf = wave.open("/home/gustavolg/anaconda3/aPython/file.wav", 'rb')

# instantiate PyAudio (1)
p = pyaudio.PyAudio()

# open stream (2)
stream = p.open(format=p.get_format_from_width(wf.getsampwidth()),
channels=wf.getnchannels(),
rate=wf.getframerate(),
output=True)

# read data
data = wf.readframes(CHUNK)

# play stream (3)
while len(data) > 0:
stream.write(data)
data = wf.readframes(CHUNK)

# stop stream (4)
stream.stop_stream()
stream.close()

# close PyAudio (5)
p.terminate()

我在 Jupyter notebook 上使用 python3。

最佳答案

检查以下步骤:

>>> import pyaudio
>>> pa = pyaudio.PyAudio()
>>> pa.get_default_input_device_info()
{'defaultLowOutputLatency': 0.008707482993197279,
'maxOutputChannels': 32,
'hostApi': 0,
'defaultSampleRate': 44100.0,
'defaultHighOutputLatency': 0.034829931972789115,
'name': 'default',
'index': 15,
'maxInputChannels': 32,
'defaultHighInputLatency': 0.034829931972789115,
'defaultLowInputLatency': 0.008707482993197279,
'structVersion': 2}
>>> pyaudio.pa.__file__
'/root/.virtualenvs/py3k/lib/python3.4/site-packages/_portaudio.cpython-34m.so'

确保你有一个默认的输入设备,如果没有你可以refer to here

我希望它对你有用!

关于python - 我无法使用 pyaudio 运行简单代码 - [Errno -9996] 无效输出设备(无默认输出设备),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37063540/

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