在线文档教程

al

al - 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)

设备参数是一个整数。 列表参数是一个列表,比如queryparams()返回的列表; 它被修改(!)。

al.setparams(device, list)

设备参数是一个整数。 列表参数是一个列表,例如queryparams()返回的列表。

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)

设置浮动样本格式的最大值。

2.端口对象

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

audio port.closeport()

关闭端口。

audio port.getfd()

以int形式返回文件描述符。

audio port.getfilled()

返回填充样本的数量。

audio port.getfillable()

返回可填写样本的数量。

audio port.readsamps(nsamples)

从队列中读取大量样本,必要时进行阻塞。以包含原始数据的字符串形式返回数据(例如,如果已将样本宽度设置为2个字节,则以big-endian字节顺序(高字节,低字节)为每个样本2个字节)。

audio port.writesamps(samples)

将样本写入队列,必要时进行阻塞。样本按照readsamps()返回值的描述进行编码。

audio port.getfillpoint()

返回'填充点'。

audio port.setfillpoint(fillpoint)

设置'填充点'。

audio port.getconfig()

返回一个包含端口当前配置的配置对象。

audio port.setconfig(config)

从参数(配置对象)中设置配置。

audio port.getstatus(list)

获取最新错误的状态信息。

AL - 与al模块一起使用的常量

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

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

import al from AL import *