「已注销」 2019-08-14 22:20 采纳率: 0%
浏览 294

python中pyaudio循环播放时为什么会发生下溢?

import pyaudio
import wave
import time

def uptime(x):
    x=time.perf_counter()
    return x

#问题出现在这一部分
def main():
    CHUNK = 1024
    FILENAME = '1.wav'

    wf = wave.open('1.wav', 'rb')
    p = pyaudio.PyAudio()
    stream = p.open(format=p.get_format_from_width(wf.getsampwidth()),\
                channels=wf.getnchannels(),rate=wf.getframerate(),output=True)
    data = wf.readframes(CHUNK)


    while data != '':
        stream.write(data)
        data = wf.readframes(CHUNK)

    stream = p.open(format=pyaudio.paInt16, channels=chan, rate=rate,
                input=True, stream_callback=callback)
    stream.stop_stream()
    stream.close()
    p.terminate()
    return 

i=0
while i<4:
    t=time.perf_counter()
    x=t
    while uptime(x)<t+3:
        x=time.perf_counter()
    i=i+1
    print(i)
    main()

系统报错:
Traceback (most recent call last):
File "D:\python文件\自\计时器.py", line 41, in
main()
File "D:\python文件\自\计时器.py", line 21, in main
stream.write(data)
File "C:\Users\xlw\AppData\Local\Programs\Python\Python37-32\lib\site-packages\pyaudio.py", line 586, in write
exception_on_underflow)
KeyboardInterrupt

  • 写回答

1条回答 默认 最新

  • 关注
    评论

报告相同问题?

悬赏问题

  • ¥88 找成都本地经验丰富懂小程序开发的技术大咖
  • ¥15 如何处理复杂数据表格的除法运算
  • ¥15 如何用stc8h1k08的片子做485数据透传的功能?(关键词-串口)
  • ¥15 有兄弟姐妹会用word插图功能制作类似citespace的图片吗?
  • ¥200 uniapp长期运行卡死问题解决
  • ¥15 请教:如何用postman调用本地虚拟机区块链接上的合约?
  • ¥15 为什么使用javacv转封装rtsp为rtmp时出现如下问题:[h264 @ 000000004faf7500]no frame?
  • ¥15 乘性高斯噪声在深度学习网络中的应用
  • ¥15 关于docker部署flink集成hadoop的yarn,请教个问题 flink启动yarn-session.sh连不上hadoop,这个整了好几天一直不行,求帮忙看一下怎么解决
  • ¥15 深度学习根据CNN网络模型,搭建BP模型并训练MNIST数据集