sounddevice.PortAudioError:打开 OutputStream 时出错:内部 PortAudio 错误 [PaErrorCode -9986]

问题描述

我在 MacMojave 上并尝试在麦克风信号超过阈值时播放声音文件我有

import sounddevice as sd
import soundfile as sf
import numpy as np
duration = 5  # seconds


threshold = 30
filename = "./data/piano.wav"
data,fs = sf.read(filename,dtype='float32')  


def print_sound(indata,outdata,frames,time,status):
    if status:
        print(status)
    global threshold,data,fs
    volume_norm = 5*np.linalg.norm(indata)
    if volume_norm > threshold: 
        print("so loud!!!!")
        sd.play(data,fs)

with sd.Stream(callback=print_sound):
    sd.sleep(1000*duration)

当我运行它时,声音超过阈值,但是,它无法打开输出流,如下所示;

$python3 main.py 
input underflow
input underflow
input underflow
so loud!!!!
so loud!!!!
input overflow,output underflow
so loud!!!!
input overflow,output underflow
so loud!!!!
||PaMacCore (AUHAL)|| Error on line 1316: err=''nope'',msg=Audio Hardware: Illegal Operation
From cffi callback <function _StreamBase.__init__.<locals>.callback_ptr at 0x10caf8680>:
Traceback (most recent call last):
  File "/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-packages/sounddevice.py",line 881,in callback_ptr
    callback,idata,odata,status)
  File "/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-packages/sounddevice.py",line 2678,in _wrap_callback
    callback(*args)
  File "main.py",line 17,in print_sound
    sd.play(data,fs)
  File "/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-packages/sounddevice.py",line 177,in play
    **kwargs)
  File "/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-packages/sounddevice.py",line 2578,in start_stream
    **kwargs)
  File "/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-packages/sounddevice.py",line 1489,in __init__
    **_remove_self(locals()))
  File "/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-packages/sounddevice.py",line 895,in __init__
    'Error opening {}'.format(self.__class__.__name__))
  File "/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-packages/sounddevice.py",line 2738,in _check
    raise PortAudioError(errormsg,err)
sounddevice.PortAudioError: Error opening OutputStream: Internal PortAudio error [PaErrorCode -9986]

我重新启动了 iMac(Mojave),但仍然出现相同的错误

任何帮助将不胜感激。

CS

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...