Python wave 模块
实例
读取 WAV 音频文件并获取其属性:
import wave
with wave.open('audio.wav', 'rb') as wav_file:
print(f'Channels: {wav_file.getnchannels()}')
print(f'Sample width: {wav_file.getsampwidth()}')
print(f'Frame rate: {wav_file.getframerate()}')
print(f'Frames: {wav_file.getnframes()}')
亲自试一试 »
定义和用法
WAV 模块提供了一个便捷的接口,用于读写 WAV 音频文件。
您可以使用它来访问和操作音频文件属性、读取或写入音频数据,或在不同的音频格式之间进行转换。
注意:此模块仅适用于 WAV 格式文件(RIFF/WAVE)。对于其他音频格式,请考虑使用第三方库。
成员
| 成员 | 描述 |
|---|---|
| Error | 当 WAV 文件出现错误时引发异常。 |
| Wave_read | 用于读取 WAV 音频文件的对象。 |
| Wave_read.close() | 完成读取并关闭文件。 |
| Wave_read.getcompname() | 获取压缩格式的文本描述。 |
| Wave_read.getcomptype() | 获取压缩类型(始终返回"NONE"表示未压缩)。 |
| Wave_read.getframerate() | 获取每秒播放的帧数(采样率)。 |
| Wave_read.getnchannels() | 获取音频通道数(1=单声道,2=立体声)。 |
| Wave_read.getnframes() | 获取文件中音频帧的总数。 |
| Wave_read.getparams() | 在一个元组中获取所有音频属性。 |
| Wave_read.getsampwidth() | 获取采样宽度(以字节为单位,1、2、3 或 4)。 |
| Wave_read.readframes() | 以原始字节格式读取下一段音频帧。 |
| Wave_read.rewind() | 跳转到音频数据的开头。 |
| Wave_read.setpos() | 跳转到指定的帧号。 |
| Wave_read.tell() | 获取当前帧的位置。 |
| Wave_write | 用于写入 WAV 音频文件的对象。 |
| Wave_write.close() | 完成写入并正确关闭文件。 |
| Wave_write.setnchannels() | 设置音频通道数(1 表示单声道,2 表示立体声)。 |
| Wave_write.setcomptype() | 设置压缩类型(仅支持"NONE")。 |
| Wave_write.setframerate() | 设置每秒帧数(采样率)。 |
| Wave_write.setnframes() | 设置总帧数(可选,自动计算)。 |
| Wave_write.setparams() | 使用元组一次性设置所有音频属性。 |
| Wave_write.setsampwidth() | 设置采样宽度(字节数:1、2、3 或 4)。 |
| Wave_write.tell() | 获取当前帧位置。 |
| Wave_write.writeframes() | 写入音频帧并更新文件头。 |
| Wave_write.writeframesraw() | 写入音频帧,但不更新文件头。 |
| open() | 打开 WAV 文件进行读取('rb')或写入('wb')。 |

