共用方式為


AUDCLNT_STREAMFLAGS_XXX常數

指定用戶端可以在資料流程初始化期間指派給音訊資料流程的特性。

常數/值 描述
AUDCLNT_STREAMFLAGS_CROSSPROCESS
0x00010000
音訊資料流程會是跨進程音訊會話的成員。 如需詳細資訊,請參閱<備註>。
AUDCLNT_STREAMFLAGS_LOOPBACK
0x00020000
音訊資料流程將會以回送模式運作。 如需詳細資訊,請參閱<備註>。
AUDCLNT_STREAMFLAGS_EVENTCALLBACK
0x00040000
用戶端處理的音訊緩衝區將會由事件驅動。 如需詳細資訊,請參閱<備註>。
AUDCLNT_STREAMFLAGS_NOPERSIST
0x00080000
音訊會話的音量和靜音設定不會在應用程式重新開機時保存。 如需詳細資訊,請參閱<備註>。
AUDCLNT_STREAMFLAGS_RATEADJUST
0x00100000
這個常數是 Windows 7 的新功能。 資料流程的取樣率會調整為應用程式指定的速率。 如需詳細資訊,請參閱<備註>。
AUDCLNT_STREAMFLAGS_AUTOCONVERTPCM
0x80000000
通道矩陣器和取樣速率轉換器會視需要插入,以在提供給 IAudioClient::Initialize 的未壓縮格式與音訊引擎混合格式之間轉換。
AUDCLNT_STREAMFLAGS_SRC_DEFAULT_QUALITY
0x08000000
AUDCLNT_STREAMFLAGS_AUTOCONVERTPCM搭配使用時,會使用品質比預設轉換更好的取樣速率轉換器,但效能成本較高。 如果音訊最終是要由人類聽到,而不是其他案例,例如幫浦無聲或填入計量,則應該使用此方式。

備註

IAudioClient::Initialize方法和DIRECTX_AUDIO_ACTI加值稅ION_PARAMS結構會使用AUDCLNT_STREAMFLAGS_XXX常數。

AUDCLNT_STREAMFLAGS_CROSSPROCESS旗標表示資料流程的音訊會話是跨進程會話。 跨進程會話可以接受來自多個進程的資料流程。 如果兩個不同進程中的兩個應用程式呼叫 IAudioClient::Initialize 具有相同的會話 GUID,而且這兩個應用程式都會設定AUDCLNT_SHAREMODE_CROSSPROCESS旗標,則音訊引擎會將其串流指派給相同的跨進程會話。 此旗標會覆寫預設行為,也就是將資料流程指派給進程特定的會話,而不是跨進程會話。 AUDCLNT_STREAMFLAGS_CROSSPROCESS旗標位與獨佔模式不相容。 如需跨進程會話的詳細資訊,請參閱 音訊會話

AUDCLNT_STREAMFLAGS_LOOPBACK旗標會啟用回送錄製。 在回送錄製中,音訊引擎會將轉譯端點裝置所播放的音訊串流複製到音訊端點緩衝區,讓 WASAPI 用戶端可以擷取資料流程。 如果設定此旗標, IAudioClient::Initialize 方法會嘗試在轉譯裝置上開啟擷取緩衝區。 只有在 Initialize 呼叫將 ShareMode 參數設定為AUDCLNT_SHAREMODE_SHARED時,此旗標才對轉譯裝置有效。 否則 ,Initialize 呼叫將會失敗。 如果呼叫成功,用戶端可以呼叫 IAudioClient::GetService 方法來取得轉譯裝置上的 IAudioCaptureClient 介面。 如需詳細資訊,請參閱 回送錄製

AUDCLNT_STREAMFLAGS_EVENTCALLBACK旗標會啟用事件驅動緩衝。 如果用戶端在初始化資料流程的 IAudioClient::Initialize 呼叫中設定此旗標,則用戶端後續必須呼叫 IAudioClient::SetEventHandle 方法來提供資料流程的事件控制碼。 串流啟動之後,音訊引擎會發出事件控制碼的訊號,以在每次緩衝區準備好供用戶端處理時通知用戶端。 WASAPI 支援轉譯和擷取緩衝區的事件驅動緩衝。 共用模式和獨佔模式資料流程都可以使用事件驅動緩衝。 如需使用 AUDCLNT_STREAMFLAGS_EVENTCALLBACK 旗標的程式碼範例,請參閱 獨佔模式資料流程

AUDCLNT_STREAMFLAGS_NOPERSIST旗標會停用包含轉譯資料流程之會話的磁片區持續性和靜音設定。 根據預設,轉譯會話的磁片區層級和靜音狀態會在應用程式重新開機時持續存在。 擷取會話的磁片區層級和靜音狀態永遠不會持續。 如需會話音量和靜音設定持續性的詳細資訊,請參閱 音訊會話

AUDCLNT_STREAMFLAGS_RATEADJUST 旗標可讓應用程式取得 IAudioClockAdjustment 介面的參考,該介面可用來設定資料流程的取樣率。 若要取得此交集的指標,應用程式必須使用此旗標初始化音訊用戶端,然後藉由指定IID_IAudioClockAdjustment識別碼來呼叫IAudioClient::GetService。 若要設定新的取樣率,請呼叫 IAudioClockAdjustment::SetSampleRate。 此旗標僅適用于轉譯裝置。 否則 GetService 呼叫會失敗,並出現錯誤碼AUDCLNT_E_WRONG_ENDPOINT_TYPE。 應用程式也必須在Initialize呼叫期間將ShareMode參數設定為AUDCLNT_SHAREMODE_SHARED。 如果音訊用戶端不在共用模式中,SetSampleRate就會失敗。

規格需求

需求
最低支援的用戶端
Windows Vista [傳統型應用程式 |UWP 應用程式]
最低支援的伺服器
Windows Server 2008 [傳統型應用程式 |UWP 應用程式]
標頭
Audiosessiontypes.h

另請參閱

核心音訊常數

IAudioCaptureClient 介面

IAudioClient::GetService

IAudioClient::Initialize

IAudioClient::SetEventHandle