在Python中播放远程音频文件?

插口

我正在寻找一种轻松播放远程.mp3文件的解决方案我看过适用于本地文件的“ pyglet”模块,但似乎无法处理远程文件。我可以临时下载.mp3文件,但是由于.mp3文件看起来太大,因此不建议这样做。

我宁愿它用于跨平台而不是仅用于Windows等。

例如,播放来自以下位置的音频文件:

http://example.com/sound.mp3

只需在下载文件时流式传输文件,我的想法是用Python播放MP3播放器,打开Soundcloud歌曲。

开尔文斯

您可以将GStreamerpython绑定一起使用(需要PyGTK)。

然后,您可以使用以下代码:

import pygst
import gst

def on_tag(bus, msg):
    taglist = msg.parse_tag()
    print 'on_tag:'
    for key in taglist.keys():
        print '\t%s = %s' % (key, taglist[key])

#our stream to play
music_stream_uri = 'http://mp3channels.webradio.antenne.de/chillout'

#creates a playbin (plays media form an uri) 
player = gst.element_factory_make("playbin", "player")

#set the uri
player.set_property('uri', music_stream_uri)

#start playing
player.set_state(gst.STATE_PLAYING)

#listen for tags on the message bus; tag event might be called more than once
bus = player.get_bus()
bus.enable_sync_message_emission()
bus.add_signal_watch()
bus.connect('message::tag', on_tag)

#wait and let the music play
raw_input('Press enter to stop playing...')

GStreamer playbin文件

更新

控制播放器:

def play():
    player.set_state(gst.STATE_PLAYING)

def pause():
    player.set_state(gst.STATE_PAUSED)

def stop():
    player.set_state(gst.STATE_NULL)

def play_new_uri( new_uri ):
    player.set_state(gst.STATE_NULL)
    player.set_property('uri', new_uri )
    play()

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

在 python 中实时播放原始音频文件

来自分类Dev

音频文件无法在reactjs中播放

来自分类Dev

在python中运行shell脚本以在OS X中播放音频文件

来自分类Dev

在Django应用中播放音频文件?

来自分类Dev

在WatchKit OS2中播放音频文件

来自分类Dev

在Tizen中播放带有通知的音频文件

来自分类Dev

在Java中播放Base64编码的音频文件

来自分类Dev

在HTML中播放WAV音频文件的移动波形

来自分类Dev

无法在Vue Web应用中播放音频文件

来自分类Dev

如何在语音通道中播放特定的音频文件?

来自分类Dev

在onclick事件中播放音频文件

来自分类Dev

在UITableView中播放音频文件不正确

来自分类Dev

在Java中播放Base64编码的音频文件

来自分类Dev

从终端中的特定时间播放音频文件?

来自分类Dev

如何在 ios 中播放 .opus 音频文件

来自分类Dev

AVPlayer:在 Swift 中播放“即时”转码音频文件

来自分类Dev

使用HTTP GET获取音频文件,然后在python 3中播放。在python 3中是TTS吗?

来自分类Dev

星号,如何播放音频文件

来自分类Dev

如何播放AMR音频文件?

来自分类Dev

无法识别播放哪个音频文件

来自分类Dev

使用Swift播放随机音频文件

来自分类Dev

从目录快速播放音频文件

来自分类Dev

如何同时播放多个音频文件

来自分类Dev

依次播放多个音频文件

来自分类Dev

用golang播放音频文件

来自分类Dev

悬停播放音频文件

来自分类Dev

如何播放音频文件?

来自分类Dev

如何循环播放我的音频文件?

来自分类Dev

AVPlayer无法播放FFMPEG的音频文件