【问题标题】:Python Pyaudio -- How to play a file streamed via HTTPPython Pyaudio——如何播放通过 HTTP 流式传输的文件
【发布时间】:2016-05-25 03:29:47
【问题描述】:

我试图弄清楚如何播放存在于我的服务器上通过 HTTP 提供的 mp3。我试图弄清楚 pyglet 但 AVBin 存在太多问题而无法使其正常工作(关于在源代码中除以零的问题)。所以,我决定尝试 PyAudio,但我不知道如何用它从 HTTP 流式传输 mp3 源。所有示例都是 wav 文件,我需要示例而不是文档,否则恐怕我必须弄清楚音频如何在最低级别上工作的细节。对于我们这些不懂行话(采样率等)的人来说,所有文档都令人困惑。有人可以帮忙吗?

【问题讨论】:

    标签: python audio mp3 audio-streaming pyaudio


    【解决方案1】:

    您的源和目标服务器环境是什么? [windows/linux/mac? ]。您还尝试播放音频文件或视频吗?

    在任何一种情况下,您都可以在 python 中使用Gstreamer。我有 Windows 笔记本电脑,所以我尝试使用来自 here 的 Gstreamer 1.0.x

    在线示例适用于 Gstreamer 0.10,不适用于较新的 Gstreamer 1.0。有很多特定于平台的修改。 但是,在 Windows 上,Gstreamer 附带了现成的 gst-launch 二进制文件。 [对于 Linux 有等效的二进制文件]

    设置

    服务器端:

    在服务器端,您需要设置 HTTP 服务器。在不知道您的环境细节的情况下,我可以说有各种可用的解决方案,包括 python http server SimpleHTTPServer
    见解决方案here

    客户端:

    在您的笔记本电脑上安装并运行 http 服务器后,您可以简单地运行
    C:\Python27\Lib\site-packages\gnome> .\gst-launch.exe playbin uri = http://www.freesound.org/data/previews/148/1482641337920-lq.mp3

    将 http 服务器地址替换为您的服务器地址和端口。

    您可以在 Python 脚本中调用 gst-launch 并使用它进行创作。

    输出:

    我已经从 freesound.org 成功打开了音频文件。它还应该打开一个从您的 http 服务器提供的音频文件。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-06-27
      • 2017-05-07
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-03-13
      相关资源
      最近更新 更多