# `audio`_音頻(`import audio`)
`audio`抽象的音頻對象,該對象可以被當做參數傳入也可以直接使用其方法來播放音頻
*****
## **構造函數:**
* [ ] **構造音頻對象**
```
class audio.Audio(array=None, path=None, points=1024)
```
> 該接口能傳入一個參數,每個參數會決定不同的音頻類型
*參數:*
* `array`:`bytearray`類型的數據,可以將該數據轉換為音頻對象, 默認`None`
* `path`: 打開的音頻文件路徑,目前僅支持`wav`格式, 默認`None`,例如:`audio.Audio(path = "/sd/1.wav")`
* `points`: 開辟有 points 個采樣點數的音頻緩沖,一個采樣點大小為 32bit。為0的情況下將不開辟緩沖, 默認`1024`
*返回:*
* 返回一個`Audio`對象
*****
## **方法:**
* [ ] **播放預處理**
```
.play_process(i2s_dev)
```
> 用于預處理音頻對象,在播放之前需要對音頻文件進行解析,所以需要預處理。這里需要傳入一個播放用的 I2S 設備
*參數:*
* `i2s_dev`: 用于播放的i2s設備
*返回:*
* 該 wav 文件的頭部信息 ,`list`類型,分別是`numchannels`,`samplerate`,`byterate`,`blockalign`,`bitspersample`,`datasize`
*****
* [ ] **播放音頻**
```
.play()
```
> 讀取音頻文件并且解析播放,一般配合循環來使用
*參數:*
* 無
*返回:*
* `None`: 格式不支持播放
* `0`: 播放結束
* `1`: 正在播放
*****
* [ ] **音頻后處理**
```
. finish()
```
> 完成音頻播放,該函數必須在播放完畢后調用,回收底層分配的資源
*參數:*
* 無
*返回:*
* `None`
*****
- 簡介
- 關于MixPY
- 準備
- MixPY_函數庫
- MicroPython標準庫
- gc _控制垃圾回收器
- math_數學函數
- sys_系統相關函數
- ubinascii _ 二進制/ ASCII轉換
- ucollections_集合和容器類型
- uerrno _系統錯誤代碼
- uheapq_ 堆隊列算法
- ujson_JSON編碼與解碼
- uos _基本的“操作系統”服務
- ure_正則表達式
- MixPY_特定函數
- lcd_顯示驅動
- lcd_范例
- sensor_感光元件
- sensor_范例
- image_機器視覺
- image_函數
- HaarCascade 類_特征描述符
- Similarity 類_相似度對象
- Histogram 類_直方圖對象
- Percentile 類_百分比值對象
- Threhsold 類_閾值對象
- Statistics 類_統計數據對象
- Blob 類_色塊對象
- Line 類_直線對象
- Circle 類_圓形對象
- Rect 類_矩形對象
- QRCode 類_ 二維碼對象
- AprilTag 類_AprilTag對象
- DataMatrix 類_數據矩陣對象
- BarCode 類_條形碼對象
- Displacement 類_位移對象
- Kptmatch 類_特征點對象
- ImageWriter 類_ImageWriter對象
- ImageReader 類_ImageReader對象
- Image 類_圖像對象
- touchscreen_觸摸屏幕
- touchscreen_范例
- video_視頻
- video_范例
- audio_音頻
- audio_范例
- nes_游戲模擬器
- nes_范例
- machine_板級功能
- I2C_總線協議
- I2C_范例
- PWM_脈寬調制
- PWM_范例
- SPI_同步串行協議
- SPI_范例
- Timer_硬件定時器
- Timer_范例
- UART_異步串口
- UART_范例
- network_網卡驅動
- network_范例
- Maix_功能庫
- FPIOA_可編程 IO 陣列
- FPIOA_范例
- GPIO_通用輸入/輸出
- GPIO_范例
- I2S_驅動I2S設備
- I2S_范例
- freq_頻率模塊
- freq_范例
- FFT_傅里葉運算
- FFT_范例
- KPU_神經網絡處理器
- KPU_范例