首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Python绑定-播放播放列表

Python绑定-播放播放列表
EN

Stack Overflow用户
提问于 2015-02-10 20:00:36
回答 2查看 13.3K关注 0票数 7

我想知道是否可以使用.m3u打开(播放)音乐播放列表( vlc.py文件)?我找了一个答案,但找不到。我成功地播放了一个简单的mp3文件,甚至是一个mp3流,但是我对播放列表没有任何进展。你能帮我,给我一些示例代码吗?我希望能够通过我的python程序中的轨道(下一个和以前)。先期

EN

回答 2

Stack Overflow用户

发布于 2015-10-09 16:07:46

这里有一个"very“的粗略模拟,它是我为其他代码编写的,适合您的问题。

它应该允许您使用vlc.py播放流音频、m3u音频播放列表和mp3文件。

正如我所说的,这是非常的粗略代码,但是它应该指向正确的方向。

希望能帮上忙。

代码语言:javascript
复制
import requests
import vlc
from time import sleep
urls = [
    'http://network.absoluteradio.co.uk/core/audio/aacplus/live.pls?service=acbb',
    'file:///home/rolf/test.m3u',
    'file:///home/rolf/happy.mp3',
    'http://statslive.infomaniak.ch/playlist/energy90s/energy90s-high.mp3/playlist.pls',
    'http://streaming.radio.rtl2.fr/rtl2-1-44-128',
    ]

playlists = set(['pls','m3u'])

Instance = vlc.Instance()

for url in urls:
    ext = (url.rpartition(".")[2])[:3]
    test_pass = False    
    try:
        if url[:4] == 'file':
            test_pass = True
        else:
            r = requests.get(url, stream=True)
            test_pass = r.ok
    except Exception as e:
        print('failed to get stream: {e}'.format(e=e))
        test_pass = False
    else:
        if test_pass:
            print('Sampling for 15 seconds')
            player = Instance.media_player_new()
            Media = Instance.media_new(url)
            Media_list = Instance.media_list_new([url])
            Media.get_mrl()
            player.set_media(Media)
            if ext in playlists:
                list_player = Instance.media_list_player_new()
                list_player.set_media_list(Media_list)
                if list_player.play() == -1:
                    print ("Error playing playlist")
            else:
                if player.play() == -1:
                    print ("Error playing Stream")
            sleep(15)
            if ext in playlists:
                list_player.stop()
            else:
                player.stop()

        else:
            print('error getting the audio')
票数 10
EN

Stack Overflow用户

发布于 2020-06-22 06:55:53

只要改变路径,你就可以走了..

代码语言:javascript
复制
from vlc import Instance
import time
import os

class VLC:
    def __init__(self):
        self.Player = Instance('--loop')

    def addPlaylist(self):
        self.mediaList = self.Player.media_list_new()
        path = r"C:\Users\dell5567\Desktop\engsong"
        songs = os.listdir(path)
        for s in songs:
            self.mediaList.add_media(self.Player.media_new(os.path.join(path,s)))
        self.listPlayer = self.Player.media_list_player_new()
        self.listPlayer.set_media_list(self.mediaList)
    def play(self):
        self.listPlayer.play()
    def next(self):
        self.listPlayer.next()
    def pause(self):
        self.listPlayer.pause()
    def previous(self):
        self.listPlayer.previous()
    def stop(self):
        self.listPlayer.stop()

创建一个对象

代码语言:javascript
复制
player = VLC()

添加播放列表

代码语言:javascript
复制
player.addPlaylist()

放这首歌

代码语言:javascript
复制
player.play()
time.sleep(9)

放下一首歌

代码语言:javascript
复制
player.next()
time.sleep(9)

暂停这首歌

代码语言:javascript
复制
player.pause()
time.sleep(9)

继续唱这首歌

代码语言:javascript
复制
player.play()
time.sleep(9)

前歌

代码语言:javascript
复制
player.previous()
time.sleep(9)

停止这首歌

代码语言:javascript
复制
player.stop()
票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/28440708

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档