- ベストアンサー
※ 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でした。
- みんなの回答 (1)
- 専門家の回答
質問者が選んだベストアンサー
- ベストアンサー
noname#30727
回答No.1
3秒以内だけというのがわかりませんが、 MMSYSERR_INVALHANDLE は、名前のとおり「無効なハンドル」ですから、 先に waveInClose でデバイスをクローズしているのが問題なのではないかと思います。
お礼
バッファのサイズを3秒分にしたので録音停止機能を使う場合、3秒以内でないと意味がないという意味でした。 3秒たつと録音停止ボタンを押さないでも勝手に終了を行います。 返事が遅れましたが、ご指摘の方法でやってみようと思います。ありがとうございました。