Python Pyaudio - 如何播放通过HTTP流式传输的文件

时间:2016-02-14 05:40:03

标签: python audio mp3 audio-streaming pyaudio

我正在试图弄清楚如何播放通过HTTP提供的服务器上存在的mp3。我试图找出pyglet,但AVBin有太多问题使得它工作(在源代码中除以零的东西)。所以,我决定尝试PyAudio,但我无法弄清楚如何用HTTP流式传输来自HTTP的mp3源代码。所有示例都是wav文件,我需要示例而不是文档,或者我担心我必须弄清楚音频如何在最低级别工作的细节。对于那些不懂术语(采样率等)的人来说,所有文档都令人困惑。有人可以帮忙吗?

1 个答案:

答案 0 :(得分:0)

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

在任何一种情况下,您都可以使用Gstreamer和python。我有windows笔记本电脑,所以我尝试使用here

中的Gstreamer 1.0.x.

在线示例适用于Gstreamer 0.10,不适用于较新的Gstreamer 1.0。有很多特定于平台的修改。 然而,在Windows上,Gstreamer配备了gst-launch二进制文件,它可以在现货上运行。 [对于Linux,有等效的二进制文件]

设置

服务器端:

在服务器端,您需要设置HTTP服务器。在不了解您的环境细节的情况下,我可以说有各种解决方案,包括python http服务器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服务器提供的音频文件。

enter image description here