[TOC]
# **pygame.cdrom**
Pygame 中使用音频 cdrom 的模块。
*注:cdrom = Compact Disc Read-Only Memory 即只读光盘*
## **函数**
* pygame.cdrom.init() —— 初始化 cdrom 模块
* pygame.cdrom.quit() —— 还原 cdrom 模块
* pygame.cdrom.get\_init() —— 如果 cdrom 模块初始化完成,则返回 true
* pygame.cdrom.get\_count() —— 返回系统中 cd 驱动器的个数
## **类**
* pygame.cdrom.CD —— 用于管理 cdrom 驱动器的类
cdrom 模块管理计算机上的 CD 和 DVD 驱动器,也可以控制音频光盘的播放和回放。这个组件在做任何事之前必须进行初始化。你创建的每一个 CD 对象都代表一个 cdrom 驱动器,而且在使用其绝大部分功能前需要被一个个单独初始化。
## **函数详解**
### **pygame.cdrom.init()**
初始化 cdrom 组件。
init() -> None
初始化 cdrom 模块。该方法将扫描系统内所有的 CD 设备。在其他功能的方法被使用前,这个组件必须先进行初始化。当你调用 pygame.init() 方法时,pygame.cdrom.init() 会自动被调用,完成模块的初始化。调用此方法超过一次以上是安全的。
### **pygame.cdrom.quit()**
还原 cdrom 模块。
quit() -> None
还原 cdrom 模块。在你调用该方法后,现存的任何 CD 对象都将停止工作。调用此方法超过一次以上是安全的。
### **pygame.cdrom.get\_init()**
如果 cdrom 模块初始化完成,则返回 true。
get\_init() -> bool
如果 cdrom 模块初始化完成则返回 true,否则返回 false。因为每个驱动器必须单独初始化,所以该方法不同于下面的 pygame.cdrom.CD.init()。
### **pygame.cdrom.get\_count()**
返回系统中 cd 驱动器的个数。
get\_count() -> count
返回系统中 cd 驱动器的个数。当你创建一个 CD 对象的时候,你需要传递一个低于该方法返回值的整数 ID。
## **类 class pygame.cdrom.CD**
用于管理 cdrom 驱动器的类。
CD(id) -> CD
## **方法**
* pygame.cdrom.CD.init() —— 初始化一个 cdrom 驱动器用于使用
* pygame.cdrom.CD.quit() —— 还原一个正在使用的 cdrom 驱动器
* pygame.cdrom.CD.get\_init() —— 如果这个 CD 设备初始化完成,返回 true
* pygame.cdrom.CD.play() —— 开始播放音频
* pygame.cdrom.CD.stop() —— 停止播放音频
* pygame.cdrom.CD.pause() —— 暂停播放音频
* pygame.cdrom.CD.resume() —— 恢复播放音频
* pygame.cdrom.CD.eject() —— 弹出或者打开 cdrom 驱动器
* pygame.cdrom.CD.get\_id() —— 返回 cdrom 驱动器的 ID
* pygame.cdrom.CD.get\_name() —— 返回 cdrom 驱动器的系统名称
* pygame.cdrom.CD.get\_busy() —— 如果驱动器正在播放音频,返回 true
* pygame.cdrom.CD.get\_paused() —— 如果驱动器被暂停,返回 true
* pygame.cdrom.CD.get\_current() —— 返回当前音频的播放位置
* pygame.cdrom.CD.get\_empty() —— 如果驱动器内存在 cdrom,返回 false
* pygame.cdrom.CD.get\_numtracks() —— 返回 cdrom 上的音轨数
* pygame.cdrom.CD.get\_track\_audio() —— 如果 cdrom 的音轨上有音频数据,返回 true
* pygame.cdrom.CD.get\_all() —— 获取所有音轨信息
* pygame.cdrom.CD.get\_track\_start() —— 返回一条音轨的开始时间
* pygame.cdrom.CD.get\_track\_length() —— 返回一条音轨的长度
你可以为系统内的每一个 cdrom 创建一个 CD 对象。使用 pygame.cdrom.get\_count() 去确定目前现存驱动器的个数。id 参数是驱动器的一个整数,从 0 开始编号。
如果这个 CD 对象没有被初始化,你只可以调用 CD.get\_id() 方法以及 CD.get\_name() 方法。
对一个驱动器创建多个 CD 对象是安全的行为,正常情况下这些对象会相互合作运行。
## **方法详解**
### **pygame.cdrom.CD.init()**
初始化一个 cdrom 驱动器用于使用。
init() -> None
初始化一个 cdrom 驱动器用于使用。为了满足大多数 CD 类方法运行的需要,这个驱动器必须被初始化,即使 pygame 的其他部分已经初始化了。
当这个驱动器被初始化的时候可能会有一个片刻的暂停时间。如果你的程序无法接受 1~2 秒的短暂停止,则要避免使用到 CD.init()。
### **pygame.cdrom.CD.quit()**
还原一个正在使用的 cdrom 驱动器。
quit() -> None
还原一个正在使用的 cdrom 驱动器。当你的系统在一段时间内将不会访问驱动器的时候,调用该方法。
### **pygame.cdrom.CD.get\_init()**
如果这个 CD 设备初始化完成,返回 true。
get\_init() -> bool
检验这个 CD 设备是否完成初始化工作。它和上面提到的 pygame.cdrom.init() 不同,因为每一个驱动器必须单独进行初始化工作。
请注意区分两者的区别:pygame.cdrom.init() 用于初始化整个 cdrom 模块,pygame.cdrom.CD.init() 则用于初始化每一个 CD 驱动器,所以当你仅调用了 pygame.cdrom.init() 方法后,pygame.cdrom.CD.get\_init() 的返回值应该是 false 而不是 true,因为此时你并没有初始化任何一个 CD 驱动器。
### **pygame.cdrom.CD.play()**
开始播放音频。
play(track, start=None, end=None) -> None
从某个驱动器内的音频 CD 中播放音频。除开音轨参数外,你也可以通过传递开始和结束时间来进行播放。
开始和结束时间以秒为单位,而且可以界定出被播放的音轨内的一小部分。
如果你仅仅传递了开始时间,音频将播放到当前音轨的末尾。如果你传递了确切的开始时间并且使结束时间为 None,音频将播放到整个磁盘的末尾(注意与上一条进行区分)。
通过调用 CD.get\_numtracks() 和 CD.get\_track\_audio() 来寻找要播放的音轨。
注意:一张 CD 内音轨从 0 开始计数编号。
### **pygame.cdrom.CD.stop()**
停止播放音频。
stop() -> None
停止音频播放。该方法会清除当前的播放位置。如果驱动器当前没有在播放音频,则该方法什么也不做。
### **pygame.cdrom.CD.pause()**
暂停播放音频。
pause() -> None
暂时停止 CD 内的音频播放。通过调用 CD.resume() 可以在暂停的位置继续播放音频。如果驱动器当前没有在播放音频,则该方法什么也不做。
### **pygame.cdrom.CD.resume()**
恢复播放音频。
resume() -> None
重新开始播放音频。如果驱动器当前没有在播放音频或暂停播放音频,则该方法什么也不做。
### **pygame.cdrom.CD.eject()**
弹出或者打开 cdrom 驱动器。
eject() -> None
该方法将打开 CD 驱动器并且弹出 CD。如果驱动器正在播放或者被暂停,那么驱动器的工作会先自动被结束然后调用该方法。
### **pygame.cdrom.CD.get\_id()**
返回 cdrom 驱动器的 ID。
get\_id() -> id
返回当初被用于创建此 CD 对象的整数型标志号(即 ID)。这个方法可以用于没有被初始化的 CD 对象上。
### **pygame.cdrom.CD.get\_name()**
返回 cdrom 驱动器的系统名称。
get\_name() -> name
返回驱动器的名称(用字符串表示)。这个名称被用于代表对应的驱动器。通常是驱动号或者设备名。该方法可以用于未初始化的 CD 对象上。
### **pygame.cdrom.CD.get\_busy()**
如果驱动器正在播放音频,返回 true。
get\_busy() -> bool
如果驱动器正在播放音频,返回 true。
### **pygame.cdrom.CD.get\_paused()**
如果驱动器被暂停,返回 true。
get\_paused() -> bool
如果驱动器被暂停,返回 true。
### **pygame.cdrom.CD.get\_current()**
返回当前音频的播放位置。
get\_current() -> track, seconds
返回当前音频的播放位置(用所在音轨号和音轨内对应时间点表示)。无论驱动器是正在播放还是被暂停,该方法都可以调用。
注意:CD 内音轨号是从 0 开始(不是 1)。
### **pygame.cdrom.CD.get\_empty()**
如果驱动器内存在 cdrom,返回 false。
get\_empty() -> bool
如果驱动器当前存在 cdrom,则返回 false。如果驱动器当前是空的,则返回 true。
### **pygame.cdrom.CD.get\_numtracks()**
返回 cdrom 上的音轨数。
get\_numtracks() -> count
返回驱动器内 CD 上的音轨数。如果驱动器内没有 CD 或者 CD 上没有音轨,则返回 0。
### **pygame.cdrom.CD.get\_track\_audio()**
如果 cdrom 的音轨上有音频数据,返回 true。
get\_track\_audio(track) -> bool
确认 CD 上的某条音轨内是否包含音频数据。你也可以通过调用 CD.num\_tracks() 和 CD.get\_all() 确认更多关于 CD 的信息。
### **pygame.cdrom.CD.get\_all()**
获取所有音轨信息。
get\_all() -> \[(audio, start, end, lenth), …\]
返回一个包含 CD 上每一条音轨信息的列表。每条信息都是一个四元组 (audio, start, end, lenth)。如果音轨上包含音频数据,则 audio=true。start, end, lenth 均是以秒为单位的浮点数。start、end 代表整张磁盘上的绝对时间。
### **pygame.cdrom.CD.get\_track\_start()**
返回一条音轨的开始时间。
get\_track\_start(track) -> seconds
返回音轨的绝对开始时间(以秒为单位)。
注意:CD 内的音轨从 0 开始计数编号。
### **pygame.cdrom.CD.get\_track\_length()**
返回一条音轨的长度。
get\_track\_length(track) -> seconds
返回一条音轨的长度(用以秒为单位的浮点数表示)。
注意:CD 内的音轨从 0 开始计数编号。
- 一、Python基础
- 1. 序言
- 1.1 Python简介
- 1.2 安装和使用IDE
- 1.3 语言特性和基础概念
- 2. 基本数据类型
- 2.2 字符串型
- 2.2.2 ASCII简介
- 2.2.4 字符串常用函数
- 3. 条件分支
- 3.3 闲聊条件判断和运算符优先级
- 10.正则表达式
- 【降龙十八章】Python小技巧
- 18.1 学习网址
- 18.2 PIP切换源
- 18.3 使用whl来安装
- 【工具优化】IDE优化技巧
- Anaconda
- Jupyter Notebook 的 Markdown 添加大纲
- Jupyter Notebook中图片缩放和居左
- Anaconda设置环境变量
- Pycharm
- PyCharm新建文档配置
- 设置字体和字号
- 设置主题和字体配色
- 保存和导入配置
- 设置对选择内容自动添加引号
- 推荐安装的插件
- Markdown
- 表格格式
- 二、Python进阶
- copy和deepcopy
- 《零基础入门学习 Python 》【小甲鱼版】
- 001.和Python的第一次接触+习题复习
- 002.用Python设计的第一个游戏 +习题复习
- Pygame详解
- Pygame详解:前言
- Pygame详解(一):Color类
- Pygame详解(二):display 模块
- Pygame详解(三):draw 模块
- Pygame详解(四):event 模块
- Pygame详解(五):font 模块
- Pygame详解(六):image 模块
- Pygame详解(七):key 模块
- Pygame详解(八):locals 模块
- Pygame详解(九):mixer 模块
- Pygame详解(十):mouse 模块
- Pygame详解(十一):Rect 对象
- Pygame详解(十二):Surface 对象
- Pygame详解(十三):time 模块
- Pygame详解(十四):music 模块
- Pygame详解(十五):pygame 模块
- Pygame详解(十六):cursors 模块
- Pygame详解(十七):joystick 模块
- Pygame详解(十八):mask 模块
- Pygame详解(二十一):BufferProxy 对象
- Pygame详解(二十三):gfxdraw 模块
- Pygame详解(二十五):Overlay 对象
- Pygame详解(二十八):sndarray 模块
- Pygame详解(三十一):camera 模块
- Pygame详解(三十二):cdrom 模块
- Pygame详解(三十六):version 模块
- pygame rect相关知识
- Tkinter详解
- Tkinter 组件详解(一):Label
- Tkinter 组件详解(二):Button