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

另请参阅

音频混音器结构

音频混音器

MIXERCAPS

mixerGetDevCaps

mixerGetLineInfo