Pygame使用后无法删除.mp3文件

时间:2016-01-25 20:32:55

标签: python twitch

我问这个问题,因为我试图创建我自己的第一个抽搐机器人(新手程序员)。我想做的是当用户从youtube请求一首歌时,我从我使用的另一个模块的youtube视频中翻录音频,然后我将使用pygame通过我的程序播放它,我唯一的问题是这首歌已经完成播放我希望将其删除,这样我就不会在我的计算机上下载并保留用户的所有歌曲请求而浪费我的电脑空间。唯一的问题是我得到WinError 32关于删除另一个进程使用的文件。

这是我迄今为止开发的代码,我不知道如何关闭文件以便能够删除它,我已经尝试在调用函数后移动music_file并且没有运气

import pygame as pg
import os

def play_music(music_file, volume):

freq = 44100
bitsize = -16
channels = 2
buffer = 2048
pg.mixer.init(freq, bitsize, channels, buffer)
pg.mixer.music.set_volume(volume)
clock = pg.time.Clock()

pg.mixer.music.load(music_file)
pg.mixer.music.play()
while pg.mixer.music.get_busy():
    clock.tick(30)
else:
    os.remove(music_file)

music_file = "C:/Users/Devin/PycharmProjects/Fun/Milk.mp3"

volume = 0.4

play_music(music_file, volume)

和错误:

PermissionError: [WinError 32] The process cannot access the file because it is being used by another process: 'C:/Users/Devin/PycharmProjects/Fun/Milk.mp3'

0 个答案:

没有答案