首页 > 解决方案 > 如何让 python 为我的程序播放来自 youtube vid 的音频?

问题描述

所以目前我的程序目录中有一个 mp3 文件,我使用以下代码播放它:

from pygame import mixer  # Load the popular external library

file = 'LinusAndLucy.mp3'
mixer.init()
mixer.music.load(file)
mixer.music.play()

它工作正常,但我不想用 mp3 文件将我的 python 文件传输到其他计算机,我宁愿它直接从我指定的 youtube url 流式传输音频。

这可能吗?我在这里阅读了与此类似的问题,但似乎没有一个可以解决问题(特别是这个

标签: pythonaudiomp3

解决方案


您可以使用youtube-dl ( pip install youtube-dl)。

有关详细信息,请参阅有关嵌入的文档。

你最终会得到这样的东西:

import youtube_dl

url = 'https://www.youtube.com/watch?v=dQw4w9WgXcQ'
filename = '/tmp/file.mp3'  # where do you want to save the file?

ydl_opts = {
    'format': 'bestaudio/best',
    'outtmpl': filename,
    'postprocessors': [{
        'key': 'FFmpegExtractAudio',
        'preferredcodec': 'mp3',
        'preferredquality': '192'
        }]
    }
with youtube_dl.YoutubeDL(ydl_opts) as ydl:
    ydl.download([url])

之后,您可以使用 pygame 播放下载的文件。


推荐阅读