39.1. al — SGI 上的音频函数 — Python 文档

来自菜鸟教程
Python/docs/2.7/library/al
跳转至:导航、​搜索

39.1. 阿尔 — SGI 上的音频功能

自 2.6 版起已弃用:al 模块已在 Python 3 中删除。


该模块提供对 SGI Indy 和 Indigo 工作站音频设施的访问。 有关详细信息,请参阅 IRIX 手册页的第 3A 部分。 您需要阅读这些手册页以了解这些函数的作用! 某些功能在 4.0.5 之前的 IRIX 版本中不可用。 同样,请参阅手册以检查您的平台上是否提供特定功能。

此模块中定义的所有函数和方法都等效于名称带有 AL 前缀的 C 函数。

C 头文件 <audio.h> 中的符号常量在标准模块 AL 中定义,见下文。

警告

当传递错误的参数值而不是返回错误状态时,当前版本的音频库可能会转储核心。 不幸的是,由于可能发生这种情况的确切情况没有记录并且难以检查,因此 Python 接口无法提供针对此类问题的保护。 (一个例子是指定过多的队列大小——没有记录的上限。)


该模块定义了以下功能:

al.openport(name, direction[, config])
名称和方向参数是字符串。 可选的 config 参数是由 newconfig() 返回的配置对象。 返回值是一个音频端口对象; 音频端口对象的方法描述如下。
al.newconfig()
返回值是一个新的音频配置对象; 音频配置对象的方法描述如下。
al.queryparams(device)
设备参数是一个整数。 返回值是一个整数列表,其中包含 ALqueryparams() 返回的数据。
al.getparams(device, list)
device 参数是一个整数。 list 参数是一个列表,例如由 queryparams() 返回的列表; 它就地修改(!)。
al.setparams(device, list)
device 参数是一个整数。 list 参数是一个列表,例如由 queryparams() 返回的列表。

39.1.1. 配置对象

newconfig()返回的配置对象有以下方法:

audio configuration.getqueuesize()
返回队列大小。
audio configuration.setqueuesize(size)
设置队列大小。
audio configuration.getwidth()
获取样本宽度。
audio configuration.setwidth(width)
设置样本宽度。
audio configuration.getchannels()
获取通道数。
audio configuration.setchannels(nchannels)
设置通道数。
audio configuration.getsampfmt()
获取示例格式。
audio configuration.setsampfmt(sampfmt)
设置样本格式。
audio configuration.getfloatmax()
获取浮动样本格式的最大值。
audio configuration.setfloatmax(floatmax)
设置浮动样本格式的最大值。


39.1.2. 端口对象

openport() 返回的端口对象具有以下方法:

audio port.closeport()
关闭端口。
audio port.getfd()
将文件描述符作为 int 返回。
audio port.getfilled()
返回填充样本的数量。
audio port.getfillable()
返回可填充样本的数量。
audio port.readsamps(nsamples)
从队列中读取一些样本,必要时阻塞。 将数据作为包含原始数据的字符串返回(例如,如果将样本宽度设置为 2 字节,则以大端字节序(高字节、低字节)为每个样本返回 2 个字节)。
audio port.writesamps(samples)
将样本写入队列,必要时阻塞。 样本按照 readsamps() 返回值的描述进行编码。
audio port.getfillpoint()
返回“填充点”。
audio port.setfillpoint(fillpoint)
设置“填充点”。
audio port.getconfig()
返回包含端口当前配置的配置对象。
audio port.setconfig(config)
从参数设置配置,一个配置对象。
audio port.getstatus(list)
获取有关上次错误的状态信息。


39.2. AL — 用于的常量阿尔模块

自 2.6 版起已弃用:AL 模块已在 Python 3 中删除。


该模块定义了使用内置模块 al(见上文)所需的符号常量; 它们与 C 头文件 <audio.h> 中定义的相同,只是省略了名称前缀 AL_。 阅读模块源以获取已定义名称的完整列表。 建议使用:

import al
from AL import *