MIXERLINEA 结构 (mmeapi.h)
MIXERLINE 结构描述音频线的状态和指标。
语法
typedef struct tagMIXERLINEA {
DWORD cbStruct;
DWORD dwDestination;
DWORD dwSource;
DWORD dwLineID;
DWORD fdwLine;
DWORD_PTR dwUser;
DWORD dwComponentType;
DWORD cChannels;
DWORD cConnections;
DWORD cControls;
CHAR szShortName[MIXER_SHORT_NAME_CHARS];
CHAR szName[MIXER_LONG_NAME_CHARS];
struct {
DWORD dwType;
DWORD dwDeviceID;
WORD wMid;
WORD wPid;
MMVERSION vDriverVersion;
CHAR szPname[MAXPNAMELEN];
} Target;
} MIXERLINEA, *PMIXERLINEA, *LPMIXERLINEA;
成员
cbStruct
MIXERLINE 结构的大小(以字节为单位)。 在调用 mixerGetLineInfo 函数之前,必须初始化此成员。 此成员中指定的大小必须足够大,才能包含 MIXERLINE 结构。 当 mixerGetLineInfo 返回时,此成员包含返回的信息的实际大小。 返回的信息不会超过请求的大小。
dwDestination
目标行索引。 此成员的范围从零到 1 小于 mixerGetDevCaps 函数检索的 MIXERCAPS 结构的 cDestinations 成员中指定的值。 使用 MIXER_GETLINEINFOF_DESTINATION 标志调用 mixerGetLineInfo 函数时,将返回目标行的属性。 (在这种情况下,dwSource 成员必须设置为零。) 当使用 MIXER_GETLINEINFOF_SOURCE 标志调用时,将返回由与 dwDestination 成员关联的 dwSource 成员提供的源的属性。
dwSource
与 dwDestination 成员关联的音频源行的索引。 也就是说,此成员指定与指定音频目标行关联的 第 n个音频源行。 此成员不用于目标行,在 mixerGetLineInfo 函数中指定MIXER_GETLINEINFOF_DESTINATION时,必须将其设置为零。 指定MIXER_GETLINEINFOF_SOURCE标志时,此成员的范围从 0 到 1 小于 dwDestination 成员中给定的音频目标行的 cConnections 成员中指定的值。
dwLineID
由混音器设备定义的标识符,该标识符唯一引用 MIXERLINE 结构描述的音频线。 此标识符对于每个混音器设备都是唯一的,可以采用任何格式。 应用程序应仅将此标识符用作抽象句柄。
fdwLine
音频行的状态和支持标志。 此成员始终返回到应用程序,无需初始化。
如果应用程序未使用波形音频输出设备,则与该设备关联的音频线将不会处于活动状态, (即,MIXERLINE_LINEF_ACTIVE标志不会) 设置。
如果波形音频输出设备已打开,则音频线被视为处于活动状态,并且将设置MIXERLINE_LINEF_ACTIVE标志。
暂停或缺电的波形音频输出设备仍被视为活动状态。 换句话说,如果波形音频输出设备由应用程序打开,无论是否播放数据,关联的音频线都被视为活动。
如果无法严格地将某一行定义为活动,则混音器设备将始终设置MIXERLINE_LINEF_ACTIVE标志。
dwUser
音频设备为线路定义的实例数据。 此成员适用于专为返回此信息的混音器设备设计的自定义混音器应用程序。 其他应用程序应忽略此数据。
dwComponentType
此音频行的组件类型。 应用程序可以使用此信息来显示定制图形或搜索特定组件。 如果应用程序不使用组件类型,则应忽略此成员。 此成员可以是以下值之一:
cChannels
可为音频线独立操作的单独声道的最大数目。 此字段的最小值为 1,因为一行必须至少有一个通道。
大多数适用于个人计算机的现代音频卡都是立体声设备:对于它们,此成员的值为 2。
通道 1 假定为左通道;通道 2 假定为正确的通道。
多通道线可能有一个或多个统一控件 (控件,这些控件会影响与它关联的统一) 行的所有通道。
cConnections
与音频线关联的连接数。 此成员仅用于音频目标行,并指定与其关联的音频源行数。 对于源行,对于没有任何音频源行与之关联的目标行,此成员始终为零。
cControls
与音频行关联的控件数。 此值可以为零。 如果没有与行关联的控件,该行可能是在MIXERCONTROL_CONTROLTYPE_MUX或MIXERCONTROL_CONTROLTYPE_MIXER中选择的源,但不能操作信号。
szShortName[MIXER_SHORT_NAME_CHARS]
描述 dwLineID 成员中指定的音频混音器行的短字符串。 此说明应适合作为行的简洁标签。
szName[MIXER_LONG_NAME_CHARS]
描述 dwLineID 成员中指定的音频混音器行的字符串。 此说明应适合作为行的完整说明。
Target
目标媒体信息。
Target.dwType
与 MIXERLINE 结构中所述的音频线关联的目标媒体设备类型。 应用程序必须忽略它不使用的媒体设备类型的目标信息。 定义了以下值:
名称 | 说明 |
---|---|
|
MIXERLINE 结构描述的音频线严格绑定到 MIXERLINE 结构的 Target 结构成员的剩余成员中详述的辅助设备。 |
|
MIXERLINE 结构描述的音频线严格绑定到 MIXERLINE 结构的 Target 结构成员剩余成员中详述的 MIDI 输入设备。 |
|
MIXERLINE 结构描述的音频线严格绑定到 MIXERLINE 结构的 Target 结构成员的剩余成员中详述的 MIDI 输出设备。 |
|
MIXERLINE 结构描述的音频线未严格绑定到定义的媒体类型。 应忽略 MIXERLINE 结构的所有剩余 Target 结构成员。 使用 MIXER_GETLINEINFOF_TARGETTYPE 标志调用 mixerGetLineInfo 函数时,应用程序无法使用MIXERLINE_TARGETTYPE_UNDEFINED目标类型。 |
|
MIXERLINE 结构描述的音频线严格绑定到 MIXERLINE 结构的 Target 结构成员剩余成员中详述的波形音频输入设备。 |
|
MIXERLINE 结构描述的音频线严格绑定到 MIXERLINE 结构的 Target 结构成员剩余成员中详述的波形音频输出设备。 |
Target.dwDeviceID
当 dwType 成员不是MIXERLINE_TARGETTYPE_UNDEFINED的目标类型时,目标媒体设备的当前设备标识符。 此标识符与关联媒体设备的当前媒体设备索引相同。 使用 MIXER_GETLINEINFOF_TARGETTYPE 标志调用 mixerGetLineInfo 函数时,此成员在输入时将被忽略,并且音频混音器管理器将返回给调用方。
Target.wMid
当 dwType 成员不是MIXERLINE_TARGETTYPE_UNDEFINED的目标类型时,目标媒体设备的制造商标识符。 此标识符与关联媒体的设备功能结构的 wMid 成员相同。 制造商标识符在 制造商和产品标识符中定义。
Target.wPid
当 dwType 成员不是MIXERLINE_TARGETTYPE_UNDEFINED的目标类型时,目标媒体设备的产品标识符。 此标识符与关联媒体的设备功能结构的 wPid 成员相同。 产品标识符在 制造商和产品标识符中定义。
Target.vDriverVersion
当 dwType 成员不是MIXERLINE_TARGETTYPE_UNDEFINED的目标类型时,目标媒体设备的驱动程序版本。 此版本与关联媒体的设备功能结构的 vDriverVersion 成员相同。
Target.szPname[MAXPNAMELEN]
当 dwType 成员不是MIXERLINE_TARGETTYPE_UNDEFINED的目标类型时,目标媒体设备的产品名称。 此名称与关联媒体的设备功能结构的 szPname 成员相同。
注解
注意
mmeapi.h 标头将 MIXERLINE 定义为别名,它根据 UNICODE 预处理器常量的定义自动选择此函数的 ANSI 或 Unicode 版本。 将非特定编码别名与非非特定编码的代码混合使用可能会导致不匹配,从而导致编译或运行时错误。 有关详细信息,请参阅 函数原型的约定。
要求
要求 | 值 |
---|---|
最低受支持的客户端 | Windows 2000 Professional [仅限桌面应用] |
最低受支持的服务器 | Windows 2000 Server [仅限桌面应用] |
标头 | mmeapi.h |
另请参阅
音频混音器