Metodo IAudioInputEndpointRT::GetInputDataPointer (audioengineendpoint.h)
Il metodo GetInputDataPointer ottiene un puntatore al buffer da cui i dati verranno letti dal motore audio.
Sintassi
void GetInputDataPointer(
[in, out] APO_CONNECTION_PROPERTY *pConnectionProperty,
[in, out] AE_CURRENT_POSITION *pAeTimeStamp
);
Parametri
[in, out] pConnectionProperty
Puntatore a una struttura APO_CONNECTION_PROPERTY .
Il chiamante imposta i valori dei membri nel modo seguente:
- pBuffer è impostato su NULL.
- u32ValidFrameCount contiene il numero di fotogrammi che devono trovarsi nel puntatore dati recuperato. L'oggetto endpoint non deve memorizzare nella cache queste informazioni. Il motore audio può modificare questo numero a seconda delle esigenze di elaborazione.
- u32BufferFlags è impostato su BUFFER_INVALID.
- pBuffer punta alla memoria valida in cui i dati sono stati letti. Ciò può includere il silenzio a seconda dei flag impostati nel membro u32BufferFlags .
- u32ValidFrameCount è invariato.
- u32BufferFlags è impostato su BUFFER_VALID se il puntatore dati contiene dati validi o per BUFFER_SILENT se il puntatore dati contiene solo dati invisibile all'utente. I dati nel buffer non devono effettivamente essere in silenzio, ma il buffer specificato in pBuffer deve essere in grado di contenere tutti i fotogrammi di silenzio contenuti in u32ValidFrameCount in modo che corrisponda al numero di fotogrammi richiesto.
[in, out] pAeTimeStamp
Puntatore a una struttura AE_CURRENT_POSITION che contiene il timestamp dei dati acquisiti nel buffer. Questo parametro è facoltativo e,
Valore restituito
nessuno
Osservazioni
Questo metodo restituisce un puntatore dall'endpoint al buffer pConnectionProperty-pBuffer>, che contiene dati che devono essere passati al motore come input. I dati e il puntatore del buffer devono rimanere validi finché non viene chiamato il metodo IAudioInputEndpointRT::ReleaseInputDataPointer . L'oggetto endpoint deve impostare la quantità richiesta di informazioni e inserire il silenzio se non esistono dati validi. Il puntatore del buffer, pConnectionProperty-pBuffer>, restituito dall'oggetto endpoint deve essere allineato a frame. Gli endpoint non supportano lo spazio aggiuntivo, che può essere disponibile nella APO_CONNECTION_PROPERTY associata alle proprietà di connessione passate nel parametro pConnectionProperty .
Il passaggio di zero nel membro u32ValidFrameCount è una richiesta valida. In questo caso, il puntatore di input deve essere valido, ma l'endpoint non lo legge. Il valore pConnectionProperty-u32ValidFrameCount> deve essere minore o uguale al numero massimo di fotogrammi supportato dall'endpoint. Per ottenere il numero di fotogrammi supportato, chiamare il metodo IAudioEndpoint::GetFramesPerPacket .
Questo metodo può essere chiamato da un thread di elaborazione in tempo reale. L'implementazione di questo metodo non deve bloccare, accedere alla memoria di paging o chiamare routine di sistema bloccanti.
L'API AudioEndpoint di Servizi Desktop remoto è destinata all'uso in scenari desktop remoto; non è per le applicazioni client.
Requisiti
Requisito | Valore |
---|---|
Client minimo supportato | Windows 7 |
Server minimo supportato | Windows Server 2008 R2 |
Piattaforma di destinazione | Windows |
Intestazione | audioengineendpoint.h |