Я не могу запустить простой код с помощью pyaudio — [Errno -9996] Недопустимое устройство вывода (нет устройства вывода по умолчанию)

(Я новичок в 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()

Я использую python3 на ноутбуке Jupyter.

См. также:  Добавление дополнительных модулей Python в контейнер NiFi
Понравилась статья? Поделиться с друзьями:
IT Шеф
Комментарии: 1
  1. Gustavo

    проверьте следующие шаги:

    >>> 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'
    

    убедитесь, что у вас есть устройство ввода по умолчанию, если нет, вы можете обратиться сюда

    Хочу, чтобы оно тебе пригодилось!

    Среда на моем компьютере — Python = 3.4 , PyAudio = 0.2.9 , Демо-версия работает хорошо. person Gustavo; 06.05.2016

    Когда я запустил строку pa.get_default_input_device_info (), я получил сообщение об ошибке: /home/gustavolg/anaconda3/lib/python3.5/site-packages/pyaudio.py в get_default_input_device_info (self) 947 948 — ›949 device_index = pa.get_default_input_device () 950 return self.get_device_info_by_index (device_index) 951 OSError: Нет доступного устройства ввода по умолчанию — похоже, у меня нет устройства ввода person Gustavo; 06.05.2016

    Как добавить устройство ввода? У меня уже установлены пакеты python-pyaudio и python3-pyaudio. person Gustavo; 06.05.2016

    попробуйте установить PortAudio — бесплатную кроссплатформенную библиотеку ввода-вывода с открытым исходным кодом. загрузите с здесь , возможно, это полезно. person Gustavo; 06.05.2016

Добавить комментарий

;-) :| :x :twisted: :smile: :shock: :sad: :roll: :razz: :oops: :o :mrgreen: :lol: :idea: :grin: :evil: :cry: :cool: :arrow: :???: :?: :!: