KSPROPERTY_RTAUDIO_GETREADPACKET
KSPROPERTY_RTAUDIO_GETREADPACKET會傳回所擷取音訊封包的相關資訊。
使用量摘要表格
Get | 集合 | 目標 | 屬性描述元類型 | 屬性值類型 |
---|---|---|---|---|
是 | 否 | Pin | KSPROPERTY | KSRTAUDIO_GETREADPACKET_INFO |
屬性描述元 (實例資料) 是 KSPROPERTY 結構。 傳送要求之前,用戶端會載入結構,其中包含指出封包編號、封包長度和其他資訊的值。
屬性值是類型 KSRTAUDIO_GETREADPACKET_INFO的變數。
傳回值
KSPROPERTY_RTAUDIO_GETREADPACKET屬性要求會傳回STATUS_SUCCESS,表示它已順利完成。 否則,要求會傳回適當的失敗狀態碼。
STATUS_DEVICE_NOT_READY - 如果沒有任何新資料可用,驅動程式會傳回此錯誤。
備註
從 WaveRT 緩衝區讀取擷取的音訊資料之前,OS 會呼叫此常式以取得可用資料的相關資訊。
封包編號會識別資料流程內的封包。 當資料流程處於KSSTATE_STOP時,這會重設為零。 數位會隨著每個擷取的緩衝區前進。 從封包編號中,OS 可以衍生 WaveRT 緩衝區內的封包位置,也可以衍生封包相對於資料流程開頭的資料流程位置。
封包大小是 WaveRT 緩衝區大小除以傳遞至 KSPROPERTY_RTAUDIO_BUFFER_WITH_NOTIFICATION的NotificationCount。 OS 可以隨時呼叫此常式。 在正常作業中,OS 會在驅動程式設定緩衝區通知事件之後,或在先前的呼叫傳回 MoreData 時傳回 true 之後,呼叫此常式。 當 OS 呼叫此常式時,驅動程式可能會假設 OS 已完成讀取所有先前的封包。 如果硬體已擷取足夠的資料,驅動程式可能會立即將下一個完整封包高載至 WaveRT 緩衝區,並再次設定緩衝區事件。 在擷取溢位 (當 OS 未快速讀取資料時,) 音訊驅動程式可能會卸載或覆寫某些音訊資料。 音訊驅動程式會先卸載或覆寫最舊的資料,即使 OS 可能尚未讀取資料,音訊驅動程式仍可繼續前進其內部封包計數器。
規格需求
版本 |
Windows 10及更新版本的 Windows 作業系統中提供。 |
標頭 |
Ksmedia.h |