MIXERLINEW 结构 (mmeapi.h)

MIXERLINE 结构描述音频线路的状态和指标。

语法

typedef struct tagMIXERLINEW {
  DWORD     cbStruct;
  DWORD     dwDestination;
  DWORD     dwSource;
  DWORD     dwLineID;
  DWORD     fdwLine;
  DWORD_PTR dwUser;
  DWORD     dwComponentType;
  DWORD     cChannels;
  DWORD     cConnections;
  DWORD     cControls;
  WCHAR     szShortName[MIXER_SHORT_NAME_CHARS];
  WCHAR     szName[MIXER_LONG_NAME_CHARS];
  struct {
    DWORD     dwType;
    DWORD     dwDeviceID;
    WORD      wMid;
    WORD      wPid;
    MMVERSION vDriverVersion;
    WCHAR     szPname[MAXPNAMELEN];
  } Target;
} MIXERLINEW, *PMIXERLINEW, *LPMIXERLINEW;

成员

cbStruct

MIXERLINE 结构的大小(以字节为单位)。 在调用 mixerGetLineInfo 函数之前,必须先初始化此成员。 此成员中指定的大小必须足够大,才能包含 MIXERLINE 结构。 当 mixerGetLineInfo 返回时,此成员包含返回的信息的实际大小。 返回的信息不会超过请求的大小。

dwDestination

目标行索引。 此成员的范围从零到一个小于 cDestinations 中指定的值,mixerGetDevCaps 函数检索的 MIXERCAPS 结构的成员。 使用MIXER_GETLINEINFOF_DESTINATION标志调用 mixerGetLineInfo 函数时,将返回目标行的属性。 (在这种情况下,dwSource 成员必须设置为零。使用 MIXER_GETLINEINFOF_SOURCE 标志调用时,将返回与 dwDestination 成员关联的 dwSource 成员提供源的属性。

dwSource

dwDestination 成员关联的音频源行的索引。 也就是说,此成员指定与指定音频目标行关联的 n音频源行。 此成员不用于目标行,必须在 mixerGetLineInfo 函数中指定MIXER_GETLINEINFOF_DESTINATION时设置为零。 指定MIXER_GETLINEINFOF_SOURCE标志时,此成员的范围从零到一个小于在 cConnections 成员中指定的 dwDestination 成员中指定的音频目标行的值。

dwLineID

由混音器设备定义的标识符,该标识符唯一引用 MIXERLINE 结构描述的音频行。 此标识符对于每个混音器设备都是唯一的,可以采用任何格式。 应用程序应仅将此标识符用作抽象句柄。

fdwLine

音频线路的状态和支持标志。 此成员始终返回到应用程序,无需初始化。

名字 描述
MIXERLINE_LINEF_ACTIVE
音频线路处于活动状态。 活动线表示信号可能通过该行。
MIXERLINE_LINEF_DISCONNECTED
音频线路已断开连接。 断开连接的行的关联控件仍可修改,但更改在连接该行之前不起作用。
MIXERLINE_LINEF_SOURCE
音频线是与单个音频目标行关联的音频源行。 如果未设置此标志,则此行是与零个或多个音频源行关联的音频目标行。
 

如果应用程序未使用波形音频输出设备,则与该设备关联的音频线路不会处于活动状态(也就是说,不会设置MIXERLINE_LINEF_ACTIVE标志)。

如果打开波形音频输出设备,则音频线路被视为处于活动状态,并且将设置MIXERLINE_LINEF_ACTIVE标志。

暂停或饥饿的波形音频输出设备仍被视为处于活动状态。 换句话说,如果应用程序打开波形音频输出设备,而不考虑是否正在播放数据,则关联的音频行被视为处于活动状态。

如果无法严格定义为活动行,混音器设备将始终设置MIXERLINE_LINEF_ACTIVE标志。

dwUser

音频设备为该行定义的实例数据。 此成员适用于专为返回此信息的混音器设备设计的自定义混音器应用程序。 其他应用程序应忽略此数据。

dwComponentType

此音频线路的组件类型。 应用程序可以使用此信息显示定制的图形或搜索特定组件。 如果应用程序不使用组件类型,则应忽略此成员。 此成员可以是以下值之一:

名字 描述
MIXERLINE_COMPONENTTYPE_DST_DIGITAL
音频线是数字目标(例如 DAT 或 CD 音频设备的数字输入)。
MIXERLINE_COMPONENTTYPE_DST_HEADPHONES
音频线路是用于驱动耳机的可调整(增益和/或衰减)目标。 大多数音频卡对扬声器和耳机使用相同的音频目标线,在这种情况下,混音器设备只是使用MIXERLINE_COMPONENTTYPE_DST_SPEAKERS类型。
MIXERLINE_COMPONENTTYPE_DST_LINE
音频线是一个线级目标(例如 CD 音频设备的行级输入),将成为模拟到数字转换器(ADC)的最终录制源。 由于个人计算机的大多数音频卡为录制音频源线路提供了某种增益,因此混音器设备将使用MIXERLINE_COMPONENTTYPE_DST_WAVEIN类型。
MIXERLINE_COMPONENTTYPE_DST_MONITOR
音频线路是用于监视器的目标。
MIXERLINE_COMPONENTTYPE_DST_SPEAKERS
音频线路是用于驱动扬声器的可调整(增益和/或衰减)目标。 这是个人计算机的音频卡音频输出的典型组件类型。
MIXERLINE_COMPONENTTYPE_DST_TELEPHONE
音频线路是将路由到电话线的目标。
MIXERLINE_COMPONENTTYPE_DST_UNDEFINED
音频线是无法由标准组件类型之一定义的目标。 对于尚未由 Microsoft Corporation 定义的线路组件类型,需要使用混音器设备。
MIXERLINE_COMPONENTTYPE_DST_VOICEIN
音频线是语音输入的最终录制源的目标。 此组件类型与MIXERLINE_COMPONENTTYPE_DST_WAVEIN完全相同,但专门用于在语音录制/识别期间使用的设置。 对于混音器设备,支持此行是可选的。 许多混音器设备仅提供MIXERLINE_COMPONENTTYPE_DST_WAVEIN。
MIXERLINE_COMPONENTTYPE_DST_WAVEIN
音频线是波形音频输入(ADC)的最终录制源的目标。 此行通常提供某种增益或衰减。 这是个人计算机大多数音频卡录制行的典型组件类型。
MIXERLINE_COMPONENTTYPE_SRC_ANALOG
音频线是一个模拟源(例如,来自视频盒磁带的模拟输出)。
MIXERLINE_COMPONENTTYPE_SRC_AUXILIARY
音频线是源自辅助音频线的源。 此行类型旨在用作增益或衰减的源,可以路由到MIXERLINE_COMPONENTTYPE_DST_SPEAKERS目标和/或从MIXERLINE_COMPONENTTYPE_DST_WAVEIN目标记录。
MIXERLINE_COMPONENTTYPE_SRC_COMPACTDISC
音频线是源自内部音频 CD 输出的源。 此组件类型适用于提供音频源线路的音频卡,这些音频源线路旨在连接到音频 CD(或 CD-ROM 播放音频 CD)。
MIXERLINE_COMPONENTTYPE_SRC_DIGITAL
音频线是数字源(例如 DAT 或音频 CD 的数字输出)。
MIXERLINE_COMPONENTTYPE_SRC_LINE
音频线是一个线级源(例如,来自外部立体声的线级输入),可用作可选录制源。 由于个人计算机的大多数音频卡为录制源线提供了某种增益,因此混音器设备将使用MIXERLINE_COMPONENTTYPE_SRC_AUXILIARY类型。
MIXERLINE_COMPONENTTYPE_SRC_MICROPHONE
音频线路是麦克风录制源。 个人计算机的大多数音频卡至少提供两种类型的录音源:辅助音频线路和麦克风输入。 麦克风音频线路通常提供某种增益。 使用单个输入用于麦克风或辅助音频线的音频卡应使用MIXERLINE_COMPONENTTYPE_SRC_MICROPHONE组件类型。
MIXERLINE_COMPONENTTYPE_SRC_PCSPEAKER
音频线是源自个人计算机扬声器的源。 个人计算机的多个音频卡能够将通常播放的内容与音频卡的输出混合在内部扬声器上。 某些音频卡支持将此输出用作录制源的功能。
MIXERLINE_COMPONENTTYPE_SRC_SYNTHESIZER
音频线是源自内部合成器输出的源。 个人计算机的大多数音频卡都提供某种 MIDI 合成器。
MIXERLINE_COMPONENTTYPE_SRC_TELEPHONE
音频线路是源自传入电话线的源。
MIXERLINE_COMPONENTTYPE_SRC_UNDEFINED
音频线是无法由标准组件类型之一定义的源。 对于尚未由 Microsoft Corporation 定义的线路组件类型,需要使用混音器设备。
MIXERLINE_COMPONENTTYPE_SRC_WAVEOUT
音频线是源自波形音频输出数字到模拟转换器(DAC)的源。 个人计算机的大多数音频卡将此组件类型作为MIXERLINE_COMPONENTTYPE_DST_SPEAKERS目标的源提供。 某些卡片还允许将此源路由到MIXERLINE_COMPONENTTYPE_DST_WAVEIN目标。

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_TARGETTYPE_AUX
MIXERLINE 结构描述的音频线路严格绑定到 MIXERLINE 结构的 目标 结构成员的其余成员中详述的辅助设备。
MIXERLINE_TARGETTYPE_MIDIIN
MIXERLINE 结构描述的音频线路严格绑定到 MIXERLINE 结构的 Target 结构成员中详述的 MIDI 输入设备。
MIXERLINE_TARGETTYPE_MIDIOUT
MIXERLINE 结构描述的音频线路严格绑定到 MIXERLINE 结构的 目标 结构成员的其余成员中详述的 MIDI 输出设备。
MIXERLINE_TARGETTYPE_UNDEFINED
MIXERLINE 结构描述的音频行不严格绑定到定义的媒体类型。 应忽略 MIXERLINE 结构的所有剩余 目标 结构成员。 应用程序在使用MIXER_GETLINEINFOF_TARGETTYPE标志调用 mixerGetLineInfo 函数时,无法使用MIXERLINE_TARGETTYPE_UNDEFINED目标类型。
MIXERLINE_TARGETTYPE_WAVEIN
MIXERLINE 结构描述的音频线严格绑定到 MIXERLINE 结构中 目标 结构成员中详述的波形音频输入设备。
MIXERLINE_TARGETTYPE_WAVEOUT
MIXERLINE 结构描述的音频线严格绑定到 MIXERLINE 结构的 目标 结构成员的其余成员中详述的波形-音频输出设备。

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

另请参阅

音频混音器结构

音频混音器

MIXERCAPS

mixerGetDevCaps

mixerGetLineInfo