我陷入了我的python音频播放器的困境。 我想做的是在歌曲结束时获取事件,以便我可以在线播放下一首歌曲。 我可以切换播放列表文件夹并播放一首歌曲。 但是,如何切换到下一个?

这是代码:

import pygame
from pygame.locals import *
import os
import sys
import random
import re

play_stereo = True
songNumber = 0
x = 0
SONG_END = pygame.USEREVENT + 1

pygame.display.set_caption("Pygame Audio player")
screen = pygame.display.set_mode((800, 800), 0, 32)
pygame.init()

def build_file_list():
    file_list = []
    for root, folders, files in os.walk(folderPath):
        folders.sort()
        files.sort()
        for filename in files:
            if re.search(".(aac|mp3|wav|flac|m4a|pls|m3u)$", filename) != None: 
                file_list.append(os.path.join(root, filename))
    return file_list

def play_songs(file_list):
    random.shuffle(file_list)
    pygame.mixer.music.load(file_list[songNumber])
    pygame.mixer.music.play(1)

while True:
    for event in pygame.event.get():
        if event.type == KEYDOWN:
            if event.key == K_q:
                folderPath = "/Users/dimitristeinel/Documents/git projects/pygame audioplayer/playlist1"
                files = build_file_list()
                play_songs(files)

            if event.key == K_w:
                folderPath = "/Users/dimitristeinel/Documents/git projects/pygame audioplayer/playlist2"
                files = build_file_list()
                print(files)

            if event.key == K_ESCAPE:
                sys.exit()
                break

我真的希望有人能提供帮助。 提前致谢...

===============>>#1 票数:1

我陷入了我的python音频播放器的困境。 我想做的是在歌曲结束时获取事件,以便我可以在线播放下一首歌曲。 我可以切换播放列表文件夹并播放一首歌曲。 但是,如何切换到下一个?

这是代码:

import pygame
from pygame.locals import *
import os
import sys
import random
import re

play_stereo = True
songNumber = 0
x = 0
SONG_END = pygame.USEREVENT + 1

pygame.display.set_caption("Pygame Audio player")
screen = pygame.display.set_mode((800, 800), 0, 32)
pygame.init()

def build_file_list():
    file_list = []
    for root, folders, files in os.walk(folderPath):
        folders.sort()
        files.sort()
        for filename in files:
            if re.search(".(aac|mp3|wav|flac|m4a|pls|m3u)$", filename) != None: 
                file_list.append(os.path.join(root, filename))
    return file_list

def play_songs(file_list):
    random.shuffle(file_list)
    pygame.mixer.music.load(file_list[songNumber])
    pygame.mixer.music.play(1)

while True:
    for event in pygame.event.get():
        if event.type == KEYDOWN:
            if event.key == K_q:
                folderPath = "/Users/dimitristeinel/Documents/git projects/pygame audioplayer/playlist1"
                files = build_file_list()
                play_songs(files)

            if event.key == K_w:
                folderPath = "/Users/dimitristeinel/Documents/git projects/pygame audioplayer/playlist2"
                files = build_file_list()
                print(files)

            if event.key == K_ESCAPE:
                sys.exit()
                break

我真的希望有人能提供帮助。 提前致谢...

===============>>#2 票数:0 已采纳

我陷入了我的python音频播放器的困境。 我想做的是在歌曲结束时获取事件,以便我可以在线播放下一首歌曲。 我可以切换播放列表文件夹并播放一首歌曲。 但是,如何切换到下一个?

这是代码:

import pygame
from pygame.locals import *
import os
import sys
import random
import re

play_stereo = True
songNumber = 0
x = 0
SONG_END = pygame.USEREVENT + 1

pygame.display.set_caption("Pygame Audio player")
screen = pygame.display.set_mode((800, 800), 0, 32)
pygame.init()

def build_file_list():
    file_list = []
    for root, folders, files in os.walk(folderPath):
        folders.sort()
        files.sort()
        for filename in files:
            if re.search(".(aac|mp3|wav|flac|m4a|pls|m3u)$", filename) != None: 
                file_list.append(os.path.join(root, filename))
    return file_list

def play_songs(file_list):
    random.shuffle(file_list)
    pygame.mixer.music.load(file_list[songNumber])
    pygame.mixer.music.play(1)

while True:
    for event in pygame.event.get():
        if event.type == KEYDOWN:
            if event.key == K_q:
                folderPath = "/Users/dimitristeinel/Documents/git projects/pygame audioplayer/playlist1"
                files = build_file_list()
                play_songs(files)

            if event.key == K_w:
                folderPath = "/Users/dimitristeinel/Documents/git projects/pygame audioplayer/playlist2"
                files = build_file_list()
                print(files)

            if event.key == K_ESCAPE:
                sys.exit()
                break

我真的希望有人能提供帮助。 提前致谢...

  ask by D.Steinel translate from so

未解决问题?本站智能推荐:

1回复

Android MediaPlayer会自动播放下一首歌曲

我有非常基本的媒体播放器代码: 由于某些原因,当歌曲结束时,播放器会自动播放文件夹中的下一首歌曲! 我已经尝试了setOnCompletionListener和setLooping函数,但似乎它们不会影响播放器,它只会转到下一首歌曲。 如果我排除第二个mp3,那么播放器会循环
2回复

音频播放器-如何使用ListView播放下一首和上一首歌曲

编写一个小型音频播放器,我想允许用户在每次点击相应按钮时播放上一首和下一首歌曲,我正在使用Listview列出所有歌曲 所以现在我的查询是,每当用户点击下一步按钮时,我如何才能切换到下一首歌曲,如上面的代码所示,我只是在显示Toast消息
1回复

在媒体播放器中播放下一首歌曲的命令是什么?

在Windows中,有多种方法可以在计算机上播放歌曲。 spotify,Windows Media Player,Foobar2000,Winamp等。如果您拥有带媒体键的键盘,则有时可以跳过歌曲或通过按键盘上的按钮来播放/暂停它。 无论使用哪种媒体播放器,键盘都会对窗口说以跳过当前正在播放
1回复

如何通过点击按钮通知播放下一首歌曲媒体播放器

我想在媒体播放器中播放下一首歌曲,点击按钮通知服务播放我的歌曲我使用此代码: 和我的服务代码: 请帮忙怎么做这个动作?
2回复

如何在HTML5播放器中自动播放下一首歌曲

我有一个html5音频播放器,我似乎无法弄清楚如何让我的脚本在当前歌曲结束后自动播放播放列表中的下一首歌曲。 目前,播放器播放一首歌然后停止。 如果用户也按下快进按钮,则播放器自动播放歌曲也是理想的。 这是我的JS代码:
1回复

MediaPlayer不会自动播放下一首歌曲

我尝试了一切,但没有任何反应...我尝试了来自stackflow的许多代码,但仍然一无所获: MediaPlayer连续播放歌曲 Android应用程序在播放数组列表中的下一首歌曲时会强制关闭等。 我只需要Mediaplayer来自动播放下一首歌曲。 现在是我的代码:
1回复

jQuery自动播放和自动播放下一首歌曲

我似乎找不到有用的代码来使我的播放列表在站点加载时自动播放第一首歌曲,然后在歌曲播放完毕后自动播放下一首歌曲。 我从一个教程中得到了这段代码,但是它们不包含这些功能。 我四处张望,看到的代码对我的问题没有帮助。
1回复

为网站构建自定义mp3播放器-无法弄清楚如何编写播放最后一首歌曲,播放下一首歌曲的功能

我正在我的网站ustreet.com上构建一个mp3播放器,该播放器可以由我在HTML中放入的自定义按钮控制。 这是它的外观图: JSript具有用于播放和暂停的内置音频对象控件,正如您所看到的,我已经弄清楚了: 我也有一个mp3文件源名称数组: 我试图弄清楚如何编
1回复

如何使用pygame自动播放完歌曲后播放文件中的下一首歌曲

我正在使用pygame制作音乐播放器。 但是我听不懂上一首歌播放完后如何自动播放下一首歌。 我的程序首先读取所选文件夹中的所有mp3文件。 你能告诉我怎么做吗? 我想在第一首歌曲自动播放完之后播放下一首歌曲。
1回复

音频播放列表中的下一首歌曲未播放

因此,我正在观看有关如何为我的网站制作一个简单的音乐播放列表的教程,并且除第一首歌曲播放完之后,所有其他方法都正常运行,除非下一首歌曲没有启动。 这是一个问题。 谁能帮我。 我是自学成才,意思是我是新手,下面的代码