wave (Multimedia) – Python 中文开发手册

[
  •   Python 中文开发手册

    wave (Multimedia) - Python 中文开发手册

    源代码: Lib / wave.py

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

    该wave模块定义了以下功能和异常:

    wave.open(file[, mode])

    如果file是一个字符串,则按该名称打开该文件,否则将其视为可搜索的文件类对象。模式可以是任何

    'r', 'rb'只读模式。'w', 'wb'只写模式。

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

    甲模式的'r'或'rb'返回一个Wave_read对象,而一个模式的'w'或'wb'返回一个Wave_write对象。如果省略模式并将文件类对象作为文件传递,file.mode则将其用作模式的默认值('b'如果需要,还会添加该标志)。

    如果你传入一个类似文件的对象,当它的close()方法被调用时,wave对象不会关闭它; 关闭文件对象是调用者的责任。

    wave.openfp(file, mode)

    open()保持向后兼容性的同义词。

    exception wave.Error

    当某件事情不可能发生时会引发错误,因为它违反了WAV规范或触及实施缺陷。

    1. Wave_read对象

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

    Wave_read.close()

    如果流被打开wave,请关闭流,并使实例无法使用。这是在对象收集时自动调用的。

    Wave_read.getnchannels()

    返回音频通道数(1单声道,2立体声)。

    Wave_read.getsampwidth()

    以字节为单位返回采样宽度

    Wave_read.getframerate()

    返回采样频率。

    Wave_read.getnframes()

    返回音频帧的数量。

    Wave_read.getcomptype()

    返回压缩类型('NONE'是唯一受支持的类型)。

    Wave_read.getcompname()

    人类可读的版本getcomptype()。通常'not compressed'平行'NONE'。

    Wave_read.getparams()

    返回一个元组(nchannels, sampwidth, framerate, nframes, comptype, compname),等价于get*()方法的输出。

    Wave_read.readframes(n)

    最多可读取n帧音频,并以一串字节的形式进行读取和返回。

    Wave_read.rewind()

    将文件指针倒回到音频流的开头。

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

    Wave_read.getmarkers()

    返回None。

    Wave_read.getmark(id)

    引发错误。

    以下两种方法定义了它们之间兼容的术语“位置”,并且在其他方​​面与实施相关。

    Wave_read.setpos(pos)

    将文件指针设置为指定的位置。

    Wave_read.tell()

    返回当前文件指针位置。

    2. Wave_write对象

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

    Wave_write.close()

    确保nframes是正确的,并关闭文件,如果它被打开wave。这个方法在对象收集时被调用。

    Wave_write.setnchannels(n)

    设置通道数量。

    Wave_write.setsampwidth(n)

    将示例宽度设置为n个字节。

    Wave_write.setframerate(n)

    将帧速率设置为n。

    Wave_write.setnframes(n)

    将帧数设置为n。如果写入更多的帧,这将稍后更改。

    Wave_write.setcomptype(type, name)

    设置压缩类型和说明。目前,只NONE支持压缩类型,意味着不压缩。

    Wave_write.setparams(tuple)

    的元组应该是(nchannels, sampwidth, framerate, nframes, comptype, compname),凭有效的值set*()的方法。设置所有参数。

    Wave_write.tell()

    返回文件中的当前位置,对于Wave_read.tell()和Wave_read.setpos()方法使用相同的免责声明。

    Wave_write.writeframesraw(data)

    编写音频帧,而不更正nframes。

    Wave_write.writeframes(data)

    写音频帧并确保nframes是正确的。

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

  •   Python 中文开发手册
    ]
    转载请保留页面地址:https://www.breakyizhan.com/python/35349.html

    posted on 2020-07-09 10:38  MrAit  阅读(549)  评论(0编辑  收藏  举报

    导航