Win32 API 日本語リファレンス
ホームMedia.Audio › IAudioClockAdjustment

IAudioClockAdjustment

COM
IIDf6e4c0a0-46d9-4fb8-be21-57a3ef2b626c継承元IUnknown自前メソッド開始 vtbl3

公式ドキュメント

IAudioClockAdjustment インターフェイスは、ストリームのサンプルレートを調整するために使用します。

メソッド 1

vtbl = vtable インデックス(0始まり)。HSP等からCOMメソッドをインデックス指定で呼ぶ際に使用します。0〜2 は IUnknown。

vtbl 3 HRESULT SetSampleRate(FLOAT flSampleRate)

SetSampleRate メソッドは、ストリームのサンプルレートを設定します。

flSampleRateFLOATin新しいサンプルレート(フレーム/秒)。

戻り値

メソッドが成功した場合は、S_OK を返します。

戻り値 説明
AUDCLNT_E_NOT_INITIALIZED
オーディオストリームが正常に初期化されていません。
E_INVALIDARG
サンプルレートが Audio Processing Object の範囲外です。

解説(Remarks)

このメソッドは、リアルタイム処理スレッドから呼び出してはなりません。

新しいサンプルレートは、現在のフレームの処理が完了した後に有効になり、次に SetSampleRate が呼び出されるまで有効なままとなります。 オーディオクライアントは共有モード(AUDCLNT_SHAREMODE_SHARED)で初期化されている必要があります。そうでない場合、SetSampleRate は失敗します。

出典・ライセンス: 上記「公式ドキュメント」の内容は Microsoft の Win32 API ドキュメント(MicrosoftDocs/sdk-api)を日本語に翻訳・改変したものです。© Microsoft Corporation. CC BY 4.0 で提供。
Microsoft 公式リファレンス: 英語 (en-us) · 日本語 (ja-jp) · 原文ソース (GitHub)

HSP用 COM定義

#usecom / #comfunc によるHSPのCOM呼び出し定義。数字は vtbl インデックス(0始まり)。クラスIDが無い場合 #usecom の末尾は "{}"、ある場合は "{CLSID}"

#define global IID_IAudioClockAdjustment "{F6E4C0A0-46D9-4FB8-BE21-57A3EF2B626C}"
#usecom global IAudioClockAdjustment IID_IAudioClockAdjustment "{}"
#comfunc global IAudioClockAdjustment_SetSampleRate  3 float
; ※数字は vtbl インデックス(0始まり)。0/1/2 は IUnknown(QueryInterface/AddRef/Release)。
; ※このインターフェースは直接 CoCreateInstance するクラスIDが無いため "{}"(他メソッド/アクティベーションで取得)。