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

标签 python python-2.7 audio pyaudio

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

  • 在PyAudio上播放mp3文件
  • 从mp3转换为wav,没有任何数据丢失,也没有PyDub(使用this method进行转换,我发现在较长的音频中,两端都丢失了)
  • 以某种方式将mp3文件中的声音播放到其他播放设备(该设备不是默认播放设备)

  • 我个人想解决第一个问题。

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

    编辑:我发现,当我使用PyMedia播放mp3文件(即从Google Text To Speech生成的文件)时,由于一些奇怪的原因,尾部也丢失了,所以也许转换方法(第2点)是工作正常,但问题可能出在其他地方。

    最佳答案

    首先,您在答案中提到的linkpymedia有关,而不与pydub有关。

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

    如果您想尝试一下,这里有一个从mp3wav的线性代码。您可以使用option-2以这种方式使用其余代码。

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

    关于python - 在Python中不使用默认输出(播放)设备播放mp3文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37277687/

    相关文章:

    javascript - 如何使用Python/Flask在heroku中显示index.html页面

    python - 如何使用 Pythonista 在 iPad air 2 上存储、查找然后导入文本文件?

    python - 如何使用 Pyinstaller 3.0 混淆 python 字节码

    python-2.7 - gcloud 在 gcloud app deploy 中崩溃(SSLHandshakeError)

    python-3.x - 如何用 python 中 null 之前的所有前值和 null 之后的第一个后续值的平均值填充空值?

    algorithm - 如何检测转码音频的生成丢失

    python - AttributeError : module 'torch' has no attribute '_six' . Pytorch 中的 Bert 模型

    python - 这是在 Python 中对数据结构执行一系列操作的好方法吗?

    android - 如何使用 MediaMetadataRetriever 获取嵌入式章节元数据

    c# - SoundPlayer 在 Vista 上崩溃