CaptureSharedTimerDriven
此範例應用程式會使用核心音訊 API,從使用者指定的輸入裝置擷取音訊數據,並將它寫入目前目錄中唯一命名的.wav檔案。 此範例示範定時器驅動緩衝。
本主題包含下列各節。
描述
此範例示範下列功能。
需求
Products | 版本 |
---|---|
Windows SDK | Windows 7 |
Visual Studio | 2008 |
下載範例
此範例可在下列位置取得。
Location | 路徑/URL |
---|---|
Windows SDK | \Program Files\Microsoft SDKs\Windows\v7.0\Samples\Multimedia\Audio\CaptureSharedTimerDriven\... |
建置範例
若要建置 CaptureSharedTimerDriven 範例,請使用下列步驟:
- 開啟 Windows SDK 的 CMD 殼層,並變更為 CaptureSharedTimerDriven 範例目錄。
- 在 CaptureSharedTimerDriven 目錄中執行 命令
start WASAPICaptureSharedTimerDriven.sln
,以在 Visual Studio 視窗中開啟 WASAPICaptureSharedTimerDriven 專案。 - 從視窗中,選取 [ 偵錯 ] 或 [發行 方案組態],從功能表欄選取 [建 置] 功能表,然後選取 [ 建 置] 選項。 如果您未從 SDK 的 CMD 殼層開啟 Visual Studio,Visual Studio 將無法存取 SDK 建置環境。 在此情況下,除非您明確設定項目檔 WASAPICaptureSharedTimerDriven.vcproj 中使用的環境變數 MSSdk,否則不會建置此範例。
執行範例
如果您成功建置示範應用程式,就會產生可執行檔WASAPICaptureSharedTimerDriven.exe。 若要執行它,請在命令視窗中輸入 WASAPICaptureSharedTimerDriven
,後面接著必要或選擇性自變數。 下列範例示範如何在預設多媒體裝置上指定擷取持續時間來執行範例。
WASAPICaptureSharedTimerDriven.exe -d 20 -multimedia
下表顯示自變數。
Argument | 描述 |
---|---|
-? | 顯示說明。 |
-h | 顯示說明。 |
-l | 以毫秒為單位的音訊擷取延遲。 |
-D | 以秒為單位的音訊擷取持續時間。 |
-m | 停用 MMCSS 的使用。 |
-安慰 | 使用預設主控台裝置。 |
-通信 | 使用預設通訊裝置。 |
-多媒體 | 使用預設多媒體裝置。 |
-端點 | 使用參數值中指定的端點標識碼。 |
如果應用程式在沒有自變數的情況下執行,它會列舉可用的裝置,並提示用戶選取擷取會話的裝置。 默認主控台、通訊和多媒體裝置會列出,後面接著裝置和端點標識碼。 如果未指定持續時間,則會擷取來自指定裝置的音訊串流 10 秒。 應用程式會將擷取的數據寫入唯一命名.wav檔案。
CaptureSharedTimerDriven 示範定時器驅動緩衝。 在此模式中,客戶端必須等候一段時間(以毫秒為單位的 -d 參數值所指定的延遲一半)。 當用戶端喚醒時,在處理期間中一半,它會從引擎提取下一組樣本。 在緩衝迴圈中的每個處理傳遞之前,客戶端必須找出可用的擷取數據量,讓數據不會超過擷取緩衝區。 從指定的裝置擷取的音訊數據,可藉由啟用事件驅動緩衝來處理。 此模式會在 CaptureSharedEventDriven 範例中示範。
相關主題