Condividi tramite


Metodo IAudioSessionManager2::RegisterDuckNotification (audiopolicy.h)

Il metodo RegisterDuckNotification registra l'applicazione con il gestore sessione per ricevere notifiche di anatraggio.

Sintassi

HRESULT RegisterDuckNotification(
  LPCWSTR                      sessionID,
  IAudioVolumeDuckNotification *duckNotification
);

Parametri

sessionID

Puntatore a una stringa con terminazione Null contenente un identificatore di istanza di sessione. Le applicazioni che eseguono un flusso multimediale e vogliono fornire un comportamento di attenuazione o anatramento del flusso personalizzato, passano il proprio identificatore di istanza di sessione. Per altre informazioni, vedere la sezione Osservazioni.

Altre applicazioni che non vogliono modificare i flussi, ma vogliono ottenere tutte le notifiche di anatraggio devono passare NULL.

duckNotification

Puntatore all'implementazione dell'applicazione dell'interfaccia IAudioVolumeDuckNotification . L'implementazione viene chiamata quando gli eventi di anatraggio vengono generati dal sistema audio e le notifiche vengono inviate alle applicazioni registrate.

Valore restituito

Se il metodo ha esito positivo, viene restituito S_OK. Se ha esito negativo, i possibili codici restituiti includono, ma non sono limitati, i valori illustrati nella tabella seguente.

Valore restituito Descrizione
E_POINTER
duckNotification è NULL.
E_OUTOFMEMORY
Impossibile creare un oggetto interno a causa di memoria insufficiente.

Commenti

Stream attenuazione o anatraggio è una nuova funzionalità di Windows 7. Un'applicazione che riproduce un flusso multimediale può fare in modo che il flusso si comporti in modo diverso quando viene aperto un nuovo flusso di comunicazione nel dispositivo di comunicazione predefinito. Ad esempio, il flusso multimediale originale può essere sospeso mentre il nuovo flusso di comunicazione è aperto. Per fornire questa implementazione personalizzata per l'attenuazione del flusso, l'applicazione può rifiutare esplicitamente l'esperienza di attenuazione del flusso predefinita chiamando IAudioSessionControl::SetDuckingPreference e quindi registrarsi per ricevere notifiche quando si verificano eventi di sessione. Per l'attenuazione del flusso, un evento di sessione viene generato dal sistema quando un flusso di comunicazione viene aperto o chiuso nel dispositivo di comunicazione predefinito. Per altre informazioni su questa funzionalità, vedere Getting Ducking Events.For more information about this feature, see Getting Ducking Events.

Per iniziare a ricevere notifiche, l'applicazione chiama il metodo RegisterDuckNotification per registrare l'interfaccia IAudioVolumeDuckNotification con il gestore sessione. Quando l'applicazione non richiede più notifiche, chiama il metodo IAudioSessionManager2::UnregisterDuckNotification per eliminare la registrazione.

L'applicazione riceve notifiche sugli eventi di anatraggio tramite i metodi dell'interfaccia IAudioVolumeDuckNotification . L'applicazione implementa IAudioVolumeDuckNotification. Al termine della chiamata di registrazione, il sistema chiama i metodi di questa interfaccia quando si verificano eventi di sessione.

Requisiti

Requisito Valore
Client minimo supportato Windows 7 [solo app desktop]
Server minimo supportato Windows Server 2008 R2 [solo app desktop]
Piattaforma di destinazione Windows
Intestazione audiopolicy.h

Vedi anche

IAudioSessionManager2

Uso di un dispositivo di comunicazione