ホーム › Media.Audio › IAudioClockAdjustment
IAudioClockAdjustment
COM公式ドキュメント
IAudioClockAdjustment インターフェイスは、ストリームのサンプルレートを調整するために使用します。
メソッド 1
vtbl = vtable インデックス(0始まり)。HSP等からCOMメソッドをインデックス指定で呼ぶ際に使用します。0〜2 は IUnknown。
SetSampleRate メソッドは、ストリームのサンプルレートを設定します。
| flSampleRate | FLOAT | in | 新しいサンプルレート(フレーム/秒)。 |
戻り値
メソッドが成功した場合は、S_OK を返します。
| 戻り値 | 説明 |
|---|---|
| オーディオストリームが正常に初期化されていません。 | |
| サンプルレートが 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)
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が無いため "{}"(他メソッド/アクティベーションで取得)。