Skip to main content

XAudio2CreateWithSharedContexts

Crea un nuevo objeto XAudio2 y devuelve un puntero a su interfaz IXAudio2.

Sintaxis

Parámetros

ppXAudio2   _Outptr_
Tipo: IXAudio2**
Si la operación se realiza correctamente, devuelve un puntero a un objeto IXAudio2. Flags   _In_
Tipo: UINT32
Marcas que especifican el comportamiento del objeto IXAudio2. XAudio2Processor   _In_
Tipo: XAUDIO2_PROCESSOR
Un valor de tipo XAUDIO2_PROCESSOR que especifica qué CPU usar. Pasar XAUDIO2_USE_DEFAULT_PROCESSOR permite a XAudio2 elegir el procesador ideal en tiempo de ejecución. Especificar un procesador podría interferir con la capacidad del programador para planificar los subprocesos de forma eficaz entre procesadores. En su lugar, pase el valor XAUDIO2_USE_DEFAULT_PROCESSOR. SharedShapeContexts   _In_
Tipo: PXAUDIO2_SHARED_SHAPE_CONTEXTS
Puntero a SHARED_SHAPE_CONTEXTS. Este parámetro es específico de XBOX One y permite que un título comparta recursos de SHAPE y XMA con XAudio2. El valor predeterminado es NULL.

Valor devuelto

Tipo: XAUDIO2_STDAPI Si la función se ejecuta correctamente, devuelve S_OK. Si uno o varios de los argumentos no son válidos, la función devuelve un código de error.

Comentarios

XAudio2CreateWithSharedContexts funciona de la misma manera que la función XAudio2Create. Acepta un parámetro adicional para permitir que el estado del motor de procesamiento de audio de hardware escalable (SHAPE) en XBOX One se comparta entre varias instancias de IXAudio2. PXAUDIO2_SHARED_SHAPE_CONTEXTS es un puntero al estado compartido. XAudio2 usa contextos de SHAPE para la reproducción de XMA. Como característica, XMA se introdujo con XBOX 360. Si usa XAudio2 para reproducir audio XMA en la versión para XBOX 360 de su juego, o en un juego de XBOX One basado en el antiguo Software Development Kit de XBOX One, es esencial saber que Microsoft Game Development Kit (GDK) sigue admitiendo XMA y los contextos de SHAPE. Para reproducir audio en formato XMA, su aplicación no tiene que usar la marca XAudio2CreateWithSharedContexts, porque la instancia de XAudio2 crea sus propios contextos de SHAPE. XAudio2CreateWithSharedContexts está optimizado para aplicaciones que tienen varias instancias de XAudio2. Permite a la aplicación asignar un único conjunto de contextos de SHAPE y compartirlos de forma eficiente entre instancias.
El parámetro XAudio2Processor debe usar el puntero XAUDIO2_USE_DEFAULT_PROCESSOR para permitir que el sistema realice la selección de procesador adecuada, a menos que la aplicación esté diseñada para seleccionar un procesador específico.
El parámetro XAudio2Create y la función XAudio2CreateWithSharedContexts usan marcas que se aplican a juegos que solo reproducen audio en formato XMA. Una aplicación no puede reproducir contenido XMA si se usa la marca XAUDIO2_DO_NOT_USE_SHAPE. Con XBOX 360, el audio XMA se descodifica por software o hardware, lo que requiere contextos de SHAPE. La nueva versión de Microsoft Game Development Kit (GDK) admite la descodificación de XMA por hardware. Especificar esta marca romperá en la práctica la reproducción de XMA. Si la función llama a sus propios contextos de SHAPE, usa la marca XAUDIO2_DO_NOT_SHARE_SHAPE_CONTEXTS para especificar que los contextos de SHAPE son de uso exclusivo de esta instancia de XAudio2. No se recomienda especificar esta marca cuando no se proporcionan contextos de SHAPE (por ejemplo, al invocar XAudio2Create), porque cuando XAudio2 crea sus propios contextos de SHAPE, estos se comparten. También puede usar la marca XAUDIO2_EXCLUDE_FROM_GAME_DVR_CAPTURE. Establecer esta marca impide que el DVR de juegos grabe el audio de la voz de masterización. El encabezado también define la marca AUDCLNT_STREAMFLAGS_EXCLUDE_FROM_GAME_DVR_CAPTURE. Pase esta marca a IAudioClient::Initialize para impedir que el DVR de juegos grabe el audio reproducido por ese IAudioClient. Si su juego usa XAudio2, use en su lugar la marca XAUDIO2_EXCLUDE_FROM_GAME_DVR_CAPTURE para este fin. Para obtener más información, consulte Introducción a XAudio2.

Requisitos

Encabezado: xaudio2Xbox.h Biblioteca: xaudio2.lib Plataformas compatibles: consolas de la familia XBOX One y consolas XBOX Series

Documentación conceptual

Consulte también

Información general de XAudio2
Conceptos clave de XAudio2
xaudio2xbox
Última modificación el 28 de agosto de 2026