0

我正在使用 pydub,我正在使用 ffplay。出于某种原因,当程序运行时,我得到这个“错误”:

 /usr/local/lib/python2.7/site-packages/pydub/utils.py:178: 

RuntimeWarning: Couldn't find ffplay or avplay - defaulting to ffplay, but may not work
  warn("Couldn't find ffplay or avplay - defaulting to ffplay, but may not work", RuntimeWarning)

但是,它仍会播放选定的音频文件。

  1. 有没有办法让这个警告消失,因为每次我玩它都会发生?
  2. 如果我不能,无论如何我可以配置它以便它使用 pyaudio 播放流?
4

1 回答 1

0

这是一个警告(而不是错误),因为有可能一切都很好,但这不能保证。

导入时会显示警告pydub.playback(回想起来,这不是最好的地方)。

也就是说,除了最简单的情况外,您可能希望直接使用 pyaudio。如果您愿意, Pydub 的pyaudio 播放代码提供了一个起点(以下内联供后代使用):

def play_with_pyaudio(seg):
    """
    seg should be a pydub.AudioSegment instance
    """
    import pyaudio

    p = pyaudio.PyAudio()
    stream = p.open(format=p.get_format_from_width(seg.sample_width),  
                    channels=seg.channels,
                    rate=seg.frame_rate,
                    output=True)

    # break audio into half-second chunks (to allows keyboard interrupts)
    for chunk in make_chunks(seg, 500):
        stream.write(chunk._data)

    stream.stop_stream()  
    stream.close()  

    p.terminate()  
于 2016-03-11T19:49:51.243 回答