无法使用 pygame 在循环内连续播放 mp3 文件?

我想播放 mp3,但是当调用的函数是 logCreater 时,错误显示可以加载 mp3。第一次正确播放音频,但当它被召回时,它无法加载 mp3。错误消息说 pygame.mixer.music.load 无法加载 xxxxx.mp3 文件实际上这是 lil 项目,这只是其中的一个模块。请建议我进行代码更正。


错误信息是:


回溯(最后一次调用):文件“e:\Tutorials etc\ProjBack\Healthy_programmer_cli\MainModule.py”,第 151 行,在 timCount() 文件“e:\Tutorials etc\ProjBack\Healthy_programmer_cli\MainModule.py”,行65,在 timCount EyeExcercise.logCreater() 文件 "e:\Tutorials etc\ProjBack\Healthy_programmer_cli\EyeExcercise.py",第 45 行,在 logCreater pygame.mixer.music.load("Eyesound.mp3") pygame.error: Couldn '不打开'Eyesound.mp3'


import os

os.environ['PYGAME_HIDE_SUPPORT_PROMPT'] = "hide"

from os.path import expanduser


import time as t

import getpass

usernm = getpass.getuser()

from datetime import datetime

import pygame






def userDirFinder():

    from os.path import expanduser

    usrpth = expanduser("~")

    mainp = os.path.join(usrpth, "Documents")

    return mainp


def checknSetdir():

    mainp=userDirFinder()

    target_path = os.path.join(mainp,"HealthManger","Eye_Excercise_log")


    if os.path.exists(target_path):

        os.chdir(target_path)

    else:


        os.makedirs(target_path)

        os.chdir(target_path)



def getCurrentDateandTime():

    Dat = datetime.now()


    currentD = Dat.strftime("%d/%m/%Y") 

    currentT = Dat.strftime("%I:%M %p")

    return currentD , currentT




def logCreater():

        print("Countdown paused")

        pygame.mixer.init()

        pygame.mixer.music.load("Eyesound.mp3")

        pygame.mixer.music.play(-1)


        write_msg = f"Eye Excercise Done by {usernm}"


万千封印
浏览 241回答 1
1回答

一只名叫tom的猫

第一次正确播放音频,但当它被召回时,它无法加载 mp3播放完音乐后,当前工作目录在函数中改变checknSetdir,由os.chdir(target_path).在应用程序开始时获取当前工作目录:import os currentWorkDir = os.getcwd()使用绝对路径加载文件"Eyesound.mp3":pygame.mixer.music.load(os.path.join(currentWorkDir, "Eyesound.mp3"))
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python