waveInOpen 関数 (mmeapi.h)

waveInOpen 関数は、指定された波形オーディオ入力デバイスを開いて記録します。

構文

MMRESULT waveInOpen(
  LPHWAVEIN       phwi,
  UINT            uDeviceID,
  LPCWAVEFORMATEX pwfx,
  DWORD_PTR       dwCallback,
  DWORD_PTR       dwInstance,
  DWORD           fdwOpen
);

パラメーター

phwi

開いている波形オーディオ入力デバイスを識別するハンドルを受け取るバッファーへのポインター。 このハンドルを使用して、他の波形オーディオ入力関数を呼び出すときにデバイスを識別します。 fdwOpenWAVE_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すると、関数は既定の通信デバイスを開きます。

このフラグは、 uDeviceIDWAVE_MAPPERと等しい場合にのみ適用されます。

メモ Windows 7 が必要
 
WAVE_FORMAT_DIRECT このフラグを指定した場合、ACM ドライバーはオーディオ データに対して変換を実行しません。
WAVE_FORMAT_QUERY 関数は、デバイスに対してクエリを実行して、指定された形式をサポートしているかどうかを判断しますが、デバイスは開きません。
WAVE_MAPPED uDeviceID パラメーターは、ウェーブ マッパーによってマップされる波形オーディオ デバイスを指定します。

戻り値

成功した場合 はMMSYSERR_NOERROR を返し、それ以外の場合はエラーを返します。 考えられるエラー値は次のとおりです。

リターン コード 説明
MMSYSERR_ALLOCATED
指定されたリソースは既に割り当てられています。
MMSYSERR_BADDEVICEID
指定されたデバイス識別子が範囲外です。
MMSYSERR_NODRIVER
デバイス ドライバーが存在しません。
MMSYSERR_NOMEM
メモリを割り当てまたはロックできません。
WAVERR_BADFORMAT
サポートされていない波形オーディオ形式で開こうとしました。

解説

waveInGetNumDevs 関数を使用して、システムに存在する波形オーディオ入力デバイスの数を決定します。 uDeviceID で指定されたデバイス識別子は、存在するデバイスの数よりも 0 から 1 未満に変化します。 WAVE_MAPPER定数は、デバイス識別子としても使用できます。

ウィンドウまたはスレッドでコールバック情報を受け取る場合は、波形オーディオ入力の進行状況を示す次のメッセージがウィンドウ プロシージャまたはスレッドに送信されます: MM_WIM_OPENMM_WIM_CLOSEMM_WIM_DATA

関数がコールバック情報を受信するように選択した場合、波形オーディオ入力の進行状況を示す次のメッセージが関数に送信されます: WIM_OPENWIM_CLOSEおよびWIM_DATA

要件

   
サポートされている最小のクライアント Windows 2000 Professional [デスクトップ アプリのみ]
サポートされている最小のサーバー Windows 2000 Server [デスクトップ アプリのみ]
対象プラットフォーム Windows
ヘッダー mmeapi.h (Windows.h を含む)
Library Winmm.lib
[DLL] Winmm.dll

関連項目

波形オーディオ

波形関数