3

我正在尝试制作一个程序来检查何时插入具有特定名称“PlayMe”的cd,然后让程序播放其中的一个曲目。计算机是带有raspbian的树莓派4。

我试过只扫描文件树何时出现,它工作一次,但是当磁盘被物理移除时它仍然有树。我也尝试过使用 pygame 的 cdrom 方法get_emptyget_name. 我不知道有更好的方法来做到这一点。

import pygame

pygame.init()

print(pygame.cdrom.get_count())

pygame.cdrom.get_empty(0)

当它运行时,我从cdrom.get_countas 1 得到输出,但 get empty 给出:

“AttributeError:模块‘pygame.cdrom’没有属性‘get_empty’”

4

1 回答 1

1

我没有办法测试这个,因为我的电脑没有光驱,但是这样的东西怎么样?这个想法是,您不仅必须创建一个 pygameCD对象,而且还必须init为它调用特定于 pygame 的函数,然后才能根据文档使用它。

import pygame

pygame.init()#should also automatically initialize the pygame cdrom module
num_drives = pygame.cdrom.get_count()
if num_drives == 0:
    raise ValueError("Computer does not have a CD-drive")
drive = pygame.cdrom.CD(0)#first drive, probably default?
drive.init()
if not drive.get_empty():
    print("A CD is in this drive")
else:
    print("No CD is in this drive")
drive.quit()
于 2019-09-16T17:45:39.273 回答