wave —读写 WAV 文件

源代码: Lib/wave.py


wave模块为 WAV 声音格式提供了方便的界面。它不支持压缩/解压缩,但支持单声道/立体声。

wave模块定义以下Function和异常:

请注意,它不允许读/写 WAV 文件。

'rb'的* mode 返回Wave_read对象,而'wb' mode 返回Wave_write对象。如果Ellipsis mode ,并且将类似文件的对象作为 file 传递,则file.mode用作 mode *的默认值。

如果传入类似文件的对象,则在调用其close()方法时,wave 对象不会将其关闭;关闭文件对象是调用者的责任。

open()函数可以在with语句中使用。 with块完成后,将调用Wave_read.close()Wave_write.close()方法。

在版本 3.4 中进行了更改:添加了对不可搜索文件的支持。

从 3.7 版开始不推荐使用,将在 3.9 版中删除。

Wave_read Objects

open()返回的 Wave_read 对象具有以下方法:

为了与aifc模块兼容,定义了以下两种方法,并且没有做任何有趣的事情。

以下两种方法定义了术语“位置”,它们在它们之间是兼容的,否则与实现有关。

Wave_write Objects

对于可搜索的输出流,waveHeaders 将自动更新以反映实际写入的帧数。对于无法搜索的流,写入第一帧数据时,* nframes 值必须准确。可以pass调用setnframes()setparams()并调用close()之前要写入的帧数,然后使用writeframesraw()来写入帧数据,或者pass调用writeframes()并获得所有帧数据来获得准确的 nframes 值。书面。在后一种情况下,writeframes()将计算数据中的帧数,并在写入帧数据之前相应地设置 nframes *。

open()返回的 Wave_write 对象具有以下方法:

在版本 3.4 中进行了更改:添加了对不可搜索文件的支持。

在版本 3.2 中更改:此方法的非整数 Importing 四舍五入为最接近的整数。

在版本 3.4 中更改:现在接受任何bytes-like object

在版本 3.4 中更改:现在接受任何bytes-like object

请注意,在调用writeframes()writeframesraw()之后设置任何参数都是无效的,任何try都会引发wave.Error

首页