Función SDL_PauseAudioDevice
Sintaxis
void SDL_PauseAudioDevice(SDL_AudioDeviceID dev, int pause_on);
Descripción
Esta función pausa y desbloquea la reproducción de audio en un dispositivo especificado.
Parámetros
- dev
- Un dispositivo abierto por SDL_OpenAudioDevice().
- pause_on
- No-cero para pausar, 0 para despausar.
Valor de retorno
Devuelve 0 si tiene éxito o un código de error negativo si falla. Ver SDL_GetError.
Observaciones
Esta función pausa y desbloquea el procesamiento de retrollamadas de audio para un dispositivo dado. Los dispositivos de audio recién abiertos comienzan en estado de pausa, por lo que se debe llamar a esta función con pause_on=0 después de abrir el dispositivo de audio especificado para comenzar a reproducir sonido. Esto le permite inicializar de forma segura los datos para la función callback después de abrir el dispositivo de audio. Se escribirá silencio en el dispositivo de audio mientras esté en pausa, y se garantiza que no se llamará a la retrollamada de audio. La pausa de un dispositivo no impide que otros dispositivos no pausados ejecuten sus retrollamadas.
El estado de pausa no se apila; incluso si se pausa un dispositivo varias veces, una sola pausa iniciará la reproducción del dispositivo de nuevo, y viceversa. Esto es diferente de como funciona SDL_LockAudioDevice().
Si solo se necesita proteger unas pocas variables de condiciones de carrera frente a la callback, no se debería pausar el dispositivo de audio, ya que provocaría caídas en la reproducción de audio. En su lugar, se debería usar SDL_LockAudioDevice().