[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