共用方式為


IAudioInputEndpointRT::GetInputDataPointer 方法 (audioengineendpoint.h)

GetInputDataPointer 方法會取得緩衝區的指標,該緩衝區會從中讀取音訊引擎的數據。

語法

void GetInputDataPointer(
  [in, out] APO_CONNECTION_PROPERTY *pConnectionProperty,
  [in, out] AE_CURRENT_POSITION     *pAeTimeStamp
);

參數

[in, out] pConnectionProperty

APO_CONNECTION_PROPERTY 結構的指標。

呼叫端會設定成員值,如下所示:

  • pBuffer 設定為 NULL
  • u32ValidFrameCount 包含擷取的數據指標中必須有的畫面數。 端點物件不得快取此資訊。 視音訊引擎的處理需求而定,音訊引擎可以變更此數位。
  • u32BufferFlags 設定為 BUFFER_INVALID
如果此呼叫順利完成,端點必須設定成員值,如下所示:
  • pBuffer 指向已讀取數據的有效記憶體。 這可能包括無聲,視 u32BufferFlags 成員中所設定的旗標而定。
  • u32ValidFrameCount 未變更。
  • 如果數據指標包含有效的數據,則 u32BufferFlags 會設定為 BUFFER_VALID;如果數據指標只包含無訊息數據,則設定為 BUFFER_SILENT。 緩衝區中的數據實際上不需要無聲,但 pBuffer 中指定的緩衝區必須能夠保存 u32ValidFrameCount 中包含的所有無聲畫面,以符合所需的畫面計數。

[in, out] pAeTimeStamp

AE_CURRENT_POSITION 結構的指標,其中包含在緩衝區中擷取之數據的時間戳。 這是選擇性參數。

傳回值

備註

這個方法會從端點傳回緩衝區 pConnectionProperty-pBuffer> 的指標,其中包含需要當做輸入傳遞至引擎的數據。 數據與緩衝區指標必須維持有效狀態,直到呼叫 IAudioInputEndpointRT::ReleaseInputDataPointer 方法為止。 端點對象必須設定所要求的資訊量,如果沒有任何有效的數據存在,則插入無回應。 端點物件所傳回的緩衝區指標 pConnectionProperty-pBuffer> 必須對齊框架。 端點不支持額外的空間,這可能可在與 pConnectionProperty 參數中傳遞的連接屬性相關聯的APO_CONNECTION_PROPERTY中使用。

u32ValidFrameCount 成員中傳遞零是有效的要求。 在此情況下,輸入指標必須有效,但端點不會從中讀取。 pConnectionProperty-u32ValidFrameCount> 值必須小於或等於端點所支援的最大畫面計數。 若要取得支持的畫面數,請呼叫 IAudioEndpoint::GetFramesPerPacket 方法。

這個方法可以從即時處理線程呼叫。 這個方法的實作不得封鎖、存取分頁記憶體,或呼叫任何封鎖的系統例程。

遠端桌面服務 AudioEndpoint API 適用於遠端桌面案例;它不適用於客戶端應用程式。

規格需求

需求
最低支援的用戶端 Windows 7
最低支援的伺服器 Windows Server 2008 R2
目標平台 Windows
標頭 audioengineendpoint.h

另請參閱

IAudioInputEndpointRT