输入-9981 – 否

请不要将此问题报告为重复问题,因为没有一个可用的解决方案对我有用,我已经测试了所有这些解决方案

所以,

我正在尝试在我的 B 型板上运行示例记录程序,

这是我得到的错误,

(大多数电话最后):

文件“/home/pi//test/.py”,第 23 行,位于

数据 = .read(块)

文件“/usr/local/lib/.7/dist-/.py”,第 605 行,读取

pa.(自己,)

:[错误号输入]-9981

已经有一些解决方案可以为许多用户解决问题,但就我而言,情况并非如此。

这是我尝试过的,

首先,这是代码,

10

11

12

13

14

15

16

17 号

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

""" : 一些音频并保存到 WAVE 文件。"""

波浪

块 = 1024

= 。

= 1

利率 = 44100

= 5

=“.wav”

p = .()

= p.open(=,

=,

费率=费率,

输入=真,

=块)

打印(”* ”)

= []

对于范围内的 i(0, int(RATE / CHUNK * )):

数据 = .read(CHUNK)

。(数据)

打印(“*完成”)

.()

。关闭()

p.()

wf = wave.open(, 'wb')

wf.()

wf.(p.())

wf.(速率)

wf.(b''.join())

wf。 关闭()

我也尝试了当前配置是否支持,

p = .()

如果 p.(48000.0,

=1,

=1,

=。):

打印“正确!”

44,000 和 44,100 都受支持,但我仍然一遍又一遍地遇到相同的错误。

这是我的USB声卡设备信息,

10

11

12

13

p。 索引(1)

{'':44100.0,

'西': 0.,

'cy': 0.,

'':1L,

'':2L,

'':0L,

“索引”:1,

“效率”:0.,

'':2L,

'名称':u'USB音频:USB音频(hw:1,0)',

'西':0.}

有谁知道为什么我仍然收到错误?

将您的块参数更改为 8192 而不是 1024。为我工作。

Ref::[Errno 输入溢出] -9981

您是否尝试过将 w 设置为 False? 来自文档:

读取(,w=True)

从流中读取样本。 使用非阻塞模式时不要调用。

范围:

– 要读取的帧数。

wa€" 指定当输入缓冲区溢出时是否应抛出异常(或静默忽略)。默认为 true。

触发器:

如果流不是输入流或者读取操作不成功。

返回类型:

细绳

为了详细说明@Sidd的答案,因为我没有明确说明这一点,

如果要导入,在脚本/项目中设置它是不够的 – .py 本身需要修改

def read(self, , w=False):

^.py v0.2.8 中的第 589/590 行:

我刚刚增加了块的数量,它似乎有效!

这是我的代码

10

11

12

13

14

15

16

17 号

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

波浪

CHUNK = 44100 #只是一个大

= 。

= 1 #我发现我的麦克风有1

利率 = 44100

= 5

=“.wav”

p = .()

= p.open(=,

=,

费率=费率,

=3,#发现也

输入=真,

=块)

打印(”* ”)

= []

对于范围内的 i(0, int(RATE / CHUNK * )):

数据 = .read(CHUNK)

。(数据)

打印(“*完成”)

.()

。关闭()

p.()

wf = wave.open(, 'wb')

wf.()

wf.(p.())

wf.(速率)

wf.(b''.join())

wf。 关闭()

10

11

12

13

14

15

16

17 号

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

# 声音

# 声音

来自系统

来自数组数组

从包中

波浪

定义():

CHUNK = 16 # 与,这可以是 2048 1024, 512, 256 等

= 。

= 1

利率 = 48000

p = .()

= p.open(=,

=,

费率=费率,

输入=真,

=正确,

=块)

r = 数组('h') # r

= array('h', .read(CHUNK)) # 从输入读取

r.()

.()

。关闭()

p.()

N = 1

= 0

for i in : # 电话号码的值

N = N +1

# 全部

对于范围 (0, N-1) 内的 i:

= [i]**2

= np.sqrt(/N)

#print("是:", )

整数()

好了,今天的主题就讲到这里吧,不管如何,能帮到你我就很开心了,如果您觉得这篇文章写得不错,欢迎点赞和分享给身边的朋友。

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注