企业🤖AI Agent构建引擎,智能编排和调试,一键部署,支持私有化部署方案 广告
# `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` *****