constantes de AUDCLNT_STREAMFLAGS_XXX

Especifica las características que un cliente puede asignar a una secuencia de audio durante la inicialización de la secuencia.

Constante o valor Descripción
AUDCLNT_STREAMFLAGS_CROSSPROCESS
0x00010000
La secuencia de audio será miembro de una sesión de audio entre procesos. Para obtener más información, vea la sección Comentarios.
AUDCLNT_STREAMFLAGS_LOOPBACK
0x00020000
La secuencia de audio funcionará en modo de bucle invertido. Para obtener más información, vea la sección Comentarios.
AUDCLNT_STREAMFLAGS_EVENTCALLBACK
0x00040000
El procesamiento del búfer de audio por parte del cliente se controlará mediante eventos. Para obtener más información, vea la sección Comentarios.
AUDCLNT_STREAMFLAGS_NOPERSIST
0x00080000
La configuración de volumen y silenciación de una sesión de audio no se conservará en los reinicios de la aplicación. Para obtener más información, vea la sección Comentarios.
AUDCLNT_STREAMFLAGS_RATEADJUST
0x00100000
Esta constante es nueva en Windows 7. La frecuencia de muestreo de la secuencia se ajusta a una velocidad especificada por una aplicación. Para obtener más información, vea la sección Comentarios.
AUDCLNT_STREAMFLAGS_AUTOCONVERTPCM
0x80000000
Se inserta un matrixer de canal y un convertidor de frecuencia de muestreo según sea necesario para convertir entre el formato sin comprimir proporcionado a IAudioClient::Initialize y el formato de combinación del motor de audio.
AUDCLNT_STREAMFLAGS_SRC_DEFAULT_QUALITY
0x08000000
Cuando se usa con AUDCLNT_STREAMFLAGS_AUTOCONVERTPCM, se usa un convertidor de frecuencia de muestreo con una mejor calidad que la conversión predeterminada, pero con un mayor costo de rendimiento. Esto debe usarse si el audio está pensado en última instancia para ser escuchado por los seres humanos en lugar de otros escenarios, como el bombeo de silencio o la rellenación de un medidor.

Comentarios

El método IAudioClient::Initialize y la estructura DIRECTX_AUDIO_ACTIVATION_PARAMS usan las constantes AUDCLNT_STREAMFLAGS_XXX.

La marca AUDCLNT_STREAMFLAGS_CROSSPROCESS indica que la sesión de audio de la secuencia es una sesión entre procesos. Una sesión entre procesos puede aceptar secuencias de más de un proceso. Si dos aplicaciones de dos procesos independientes llaman a IAudioClient::Initialize con GUID de sesión idénticos y ambas aplicaciones establecen la marca de AUDCLNT_SHAREMODE_CROSSPROCESS, el motor de audio asigna sus secuencias a la misma sesión entre procesos. Esta marca invalida el comportamiento predeterminado, que consiste en asignar la secuencia a una sesión específica del proceso en lugar de a una sesión entre procesos. El bit de marca de AUDCLNT_STREAMFLAGS_CROSSPROCESS no es compatible con el modo exclusivo. Para obtener más información sobre las sesiones entre procesos, vea Sesiones de audio.

La marca AUDCLNT_STREAMFLAGS_LOOPBACK habilita la grabación de bucle invertido. En la grabación de bucle invertido, el motor de audio copia la secuencia de audio que reproduce un dispositivo de punto de conexión de representación en un búfer de puntos de conexión de audio para que un cliente WASAPI pueda capturar la secuencia. Si se establece esta marca, el método IAudioClient::Initialize intenta abrir un búfer de captura en el dispositivo de representación. Esta marca solo es válida para un dispositivo de representación y solo si la llamada Initialize establece el parámetro ShareMode en AUDCLNT_SHAREMODE_SHARED. De lo contrario, se producirá un error en la llamada Inicializar . Si la llamada se realiza correctamente, el cliente puede llamar al método IAudioClient::GetService para obtener una interfaz IAudioCaptureClient en el dispositivo de representación. Para más información, consulte Grabación de bucle invertido.

La marca AUDCLNT_STREAMFLAGS_EVENTCALLBACK habilita el almacenamiento en búfer controlado por eventos. Si un cliente establece esta marca en la llamada a IAudioClient::Initialize que inicializa una secuencia, el cliente debe llamar posteriormente al método IAudioClient::SetEventHandle para proporcionar un identificador de evento para la secuencia. Una vez que se inicia la secuencia, el motor de audio indicará al controlador de eventos que notificará al cliente cada vez que un búfer esté listo para que el cliente procese. WASAPI admite el almacenamiento en búfer controlado por eventos para los búferes de representación y captura. Tanto el modo compartido como las secuencias en modo exclusivo pueden usar el almacenamiento en búfer controlado por eventos. Para obtener un ejemplo de código que use la marca AUDCLNT_STREAMFLAGS_EVENTCALLBACK, consulte Secuencias en modo exclusivo.

La marca AUDCLNT_STREAMFLAGS_NOPERSIST deshabilita la persistencia del volumen y la configuración de silenciar para una sesión que contiene secuencias de representación. De forma predeterminada, el nivel de volumen y el estado de silenciación de una sesión de representación son persistentes en los reinicios de la aplicación. El nivel de volumen y el estado de silenciación de una sesión de captura nunca son persistentes. Para obtener más información sobre la persistencia del volumen de sesión y la configuración de silenciación, consulte Sesiones de audio.

La marca AUDCLNT_STREAMFLAGS_RATEADJUST permite a una aplicación obtener una referencia a la interfaz IAudioClockAdjustment que se usa para establecer la frecuencia de muestreo de la secuencia. Para obtener un puntero a esta interace, una aplicación debe inicializar el cliente de audio con esta marca y, a continuación, llamar a IAudioClient::GetService especificando el identificador de IID_IAudioClockAdjustment . Para establecer la nueva frecuencia de muestreo, llame a IAudioClockAdjustment::SetSampleRate. Esta marca solo es válida para un dispositivo de representación. De lo contrario, se produce un error en la llamada a GetService con el código de error AUDCLNT_E_WRONG_ENDPOINT_TYPE. La aplicación también debe establecer el parámetro ShareMode en AUDCLNT_SHAREMODE_SHARED durante la llamada initialize . Se produce un error en SetSampleRate si el cliente de audio no está en modo compartido.

Requisitos

Requisito Value
Cliente mínimo compatible
Windows Vista [aplicaciones de escritorio | Aplicaciones para UWP]
Servidor mínimo compatible
Windows Server 2008 [aplicaciones de escritorio | Aplicaciones para UWP]
Encabezado
Audiosessiontypes.h

Consulte también

Constantes de audio principales

IAudioCaptureClient (interfaz)

IAudioClient::GetService

IAudioClient::Initialize

IAudioClient::SetEventHandle