我知道在PyAudio上可以选择在哪个播放设备上流式传输,但PyAudio不支持mp3文件。如果解决了以下问题之一,我的脚本将起作用:
>
在PyAudio上播放mp3文件
从mp3转换为wav,没有任何数据丢失,也没有PyDub(使用这种转换方法,我发现在较长的音频中,结尾缺失)
以某种方式将mp3文件中的声音播放到不同的播放设备(该设备不是默认设备)
就我个人而言,我想解决第一个问题。
如果我能在PyAudio上播放mp3文件而不丢失任何数据或质量,我将不胜感激。
编辑:我发现当我用PyMedia播放我的mp3文件(顺便说一下,这是一个从谷歌文本到语音生成的文件)时,由于一些奇怪的原因,结尾也不见了,所以可能是转换方法(第2点。)工作正常,但问题可能出在其他地方。
首先,你在回答中提到的链接是关于pymedia
而不是pydub
。
接下来,我使用 pydub
将许多文件从 mp3
转换为 wav
,没有问题。
如果你想尝试一下,这里有一个从mp3
到wav
的单行代码。您将能够使用选项2以这种方式使用其余代码。
from pydub import AudioSegment
AudioSegment.from_file("audio.mp3", format="mp3").export("audio.wav", format="wav")