提问者:小点点

在Python中不使用默认输出(播放)设备播放mp3文件


我知道在PyAudio上可以选择在哪个播放设备上流式传输,但PyAudio不支持mp3文件。如果解决了以下问题之一,我的脚本将起作用:

>

  • 在PyAudio上播放mp3文件

    从mp3转换为wav,没有任何数据丢失,也没有PyDub(使用这种转换方法,我发现在较长的音频中,结尾缺失)

    以某种方式将mp3文件中的声音播放到不同的播放设备(该设备不是默认设备)

    就我个人而言,我想解决第一个问题。

    如果我能在PyAudio上播放mp3文件而不丢失任何数据或质量,我将不胜感激。

    编辑:我发现当我用PyMedia播放我的mp3文件(顺便说一下,这是一个从谷歌文本到语音生成的文件)时,由于一些奇怪的原因,结尾也不见了,所以可能是转换方法(第2点。)工作正常,但问题可能出在其他地方。


  • 共1个答案

    匿名用户

    首先,你在回答中提到的链接是关于pymedia而不是pydub

    接下来,我使用 pydub 将许多文件从 mp3 转换为 wav,没有问题。

    如果你想尝试一下,这里有一个从mp3wav的单行代码。您将能够使用选项2以这种方式使用其余代码。

    from pydub import AudioSegment
    AudioSegment.from_file("audio.mp3", format="mp3").export("audio.wav", format="wav")