waveInOpen 関数 (mmeapi.h)
waveInOpen 関数は、指定された波形オーディオ入力デバイスを開いて記録します。
構文
MMRESULT waveInOpen(
LPHWAVEIN phwi,
UINT uDeviceID,
LPCWAVEFORMATEX pwfx,
DWORD_PTR dwCallback,
DWORD_PTR dwInstance,
DWORD fdwOpen
);
パラメーター
phwi
開いている波形オーディオ入力デバイスを識別するハンドルを受け取るバッファーへのポインター。 このハンドルを使用して、他の波形オーディオ入力関数を呼び出すときにデバイスを識別します。 fdwOpen にWAVE_FORMAT_QUERYを指定した場合、このパラメーターは NULL にすることができます。
uDeviceID
開く波形オーディオ入力デバイスの識別子。 これは、デバイス識別子または開いている波形オーディオ入力デバイスのハンドルのいずれかです。 デバイス識別子の代わりに、次のフラグを使用できます。
値 | 説明 |
---|---|
WAVE_MAPPER | この機能は、指定された形式で記録できる波形オーディオ入力デバイスを選択します。 |
pwfx
波形オーディオ データを記録するための目的の形式を識別する WAVEFORMATEX 構造体へのポインター。 waveInOpen が返された直後に、この構造体を解放できます。
dwCallback
固定コールバック関数、イベント ハンドル、ウィンドウへのハンドル、または波形オーディオ記録中に呼び出されるスレッドの識別子を指し、記録の進行状況に関連するメッセージを処理します。 コールバック関数が必要ない場合、この値は 0 にすることができます。 コールバック関数の詳細については、「 waveInProc」を参照してください。
dwInstance
コールバック メカニズムに渡されるユーザー インスタンス データ。 このパラメーターは、ウィンドウ コールバック メカニズムでは使用されません。
fdwOpen
デバイスを開くフラグ。 次の値が定義されています。
値 | 説明 |
---|---|
CALLBACK_EVENT | dwCallback パラメーターはイベント ハンドルです。 |
CALLBACK_FUNCTION | dwCallback パラメーターはコールバック プロシージャ アドレスです。 |
CALLBACK_NULL | コールバック メカニズムはありません。 これが既定の設定です。 |
CALLBACK_THREAD | dwCallback パラメーターはスレッド識別子です。 |
CALLBACK_WINDOW | dwCallback パラメーターはウィンドウ ハンドルです。 |
WAVE_MAPPED_DEFAULT_COMMUNICATION_DEVICE |
このフラグを指定し、 uDeviceID パラメーターを WAVE_MAPPERすると、関数は既定の通信デバイスを開きます。
このフラグは、 uDeviceID が WAVE_MAPPERと等しい場合にのみ適用されます。 メモ Windows 7 が必要
|
WAVE_FORMAT_DIRECT | このフラグを指定した場合、ACM ドライバーはオーディオ データに対して変換を実行しません。 |
WAVE_FORMAT_QUERY | 関数は、デバイスに対してクエリを実行して、指定された形式をサポートしているかどうかを判断しますが、デバイスは開きません。 |
WAVE_MAPPED | uDeviceID パラメーターは、ウェーブ マッパーによってマップされる波形オーディオ デバイスを指定します。 |
戻り値
成功した場合 はMMSYSERR_NOERROR を返し、それ以外の場合はエラーを返します。 考えられるエラー値は次のとおりです。
リターン コード | 説明 |
---|---|
|
指定されたリソースは既に割り当てられています。 |
|
指定されたデバイス識別子が範囲外です。 |
|
デバイス ドライバーが存在しません。 |
|
メモリを割り当てまたはロックできません。 |
|
サポートされていない波形オーディオ形式で開こうとしました。 |
解説
waveInGetNumDevs 関数を使用して、システムに存在する波形オーディオ入力デバイスの数を決定します。 uDeviceID で指定されたデバイス識別子は、存在するデバイスの数よりも 0 から 1 未満に変化します。 WAVE_MAPPER定数は、デバイス識別子としても使用できます。
ウィンドウまたはスレッドでコールバック情報を受け取る場合は、波形オーディオ入力の進行状況を示す次のメッセージがウィンドウ プロシージャまたはスレッドに送信されます: MM_WIM_OPEN、 MM_WIM_CLOSE、 MM_WIM_DATA。
関数がコールバック情報を受信するように選択した場合、波形オーディオ入力の進行状況を示す次のメッセージが関数に送信されます: WIM_OPEN、 WIM_CLOSE、 およびWIM_DATA。
要件
サポートされている最小のクライアント | Windows 2000 Professional [デスクトップ アプリのみ] |
サポートされている最小のサーバー | Windows 2000 Server [デスクトップ アプリのみ] |
対象プラットフォーム | Windows |
ヘッダー | mmeapi.h (Windows.h を含む) |
Library | Winmm.lib |
[DLL] | Winmm.dll |