• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:wave系関数のエラーについて)

wave系関数のエラーについて

このQ&Aのポイント
  • waveInUnPrepared関数で戻り値に5つまりMMSYSERR_INVALHANDLEが返ってくる原因について。
  • APIによる録音再生プログラムを作っています。マイクによる録音をしている途中で停止ボタンを押すとwaveInResetを呼び出し、MM_WIM_DATAを受け取ったらwaveInCloseをし、最後にMM_WIM_CLOSEでwaveInUnPreparedを行い録音終了とするようにしましたが、waveInReset、waveInCloseはともに戻り値が0なのですがwaveInUnPreparedは戻り値が5でした。
  • MMSYSERR_INVALHANDLEが発生する原因についてどのようなものが考えられるのでしょうか。なおバッファ分の録音&再生時にも戻り値は5でした。

質問者が選んだベストアンサー

  • ベストアンサー
noname#30727
noname#30727
回答No.1

3秒以内だけというのがわかりませんが、 MMSYSERR_INVALHANDLE は、名前のとおり「無効なハンドル」ですから、 先に waveInClose でデバイスをクローズしているのが問題なのではないかと思います。

k_shin
質問者

お礼

バッファのサイズを3秒分にしたので録音停止機能を使う場合、3秒以内でないと意味がないという意味でした。 3秒たつと録音停止ボタンを押さないでも勝手に終了を行います。 返事が遅れましたが、ご指摘の方法でやってみようと思います。ありがとうございました。

関連するQ&A