如何用pyaudio播放音频文件?

发布于 2021-01-29 14:09:39

我不了解pyaudio的示例材料。看来他们写了整个小程序,这让我失望了。

如何只播放一个音频文件?

格式不是问题,我只想知道播放音频文件所需的最少代码。

关注者
0
被浏览
484
1 个回答
  • 面试哥
    面试哥 2021-01-29
    为面试而生,有面试问题,就找面试哥。

    这个例子对我来说似乎很清楚。您只需将示例另存为playwav.py调用即可:

    python playwav.py my_fav_wav.wav

    带有一些额外注释的wave示例:

    import pyaudio
    import wave
    import sys
    
    # length of data to read.
    chunk = 1024
    
    # validation. If a wave file hasn't been specified, exit.
    if len(sys.argv) < 2:
        print "Plays a wave file.\n\n" +\
              "Usage: %s filename.wav" % sys.argv[0]
        sys.exit(-1)
    
    '''
    ************************************************************************
          This is the start of the "minimum needed to read a wave"
    ************************************************************************
    '''
    # open the file for reading.
    wf = wave.open(sys.argv[1], 'rb')
    
    # create an audio object
    p = pyaudio.PyAudio()
    
    # open stream based on the wave object which has been input.
    stream = p.open(format =
                    p.get_format_from_width(wf.getsampwidth()),
                    channels = wf.getnchannels(),
                    rate = wf.getframerate(),
                    output = True)
    
    # read data (based on the chunk size)
    data = wf.readframes(chunk)
    
    # play stream (looping from beginning of file to the end)
    while data != '':
        # writing to the stream is what *actually* plays the sound.
        stream.write(data)
        data = wf.readframes(chunk)
    
    # cleanup stuff.
    stream.close()    
    p.terminate()
    


知识点
面圈网VIP题库

面圈网VIP题库全新上线,海量真题题库资源。 90大类考试,超10万份考试真题开放下载啦

去下载看看