録音する時に、
mciSendCommand(mop.wDeviceID , MCI_RECORD , 0 , 0);
の命令を投げる前に、
mwsp.wFormatTag = WAVE_FORMAT_PCM;
mwsp.nChannels = 1; // チャンネル
mwsp.wBitsPerSample = 8; // 量子化ビット数
mwsp.nSamplesPerSec = 16000; // サンプリングレート
というように、
WAVファイルの仕様を規定するコマンドを投げています。
でも、どうやっても、
出来ているWAVファイルは、
期待している16kHzのものではなく、
11.025kHzのもの。
何が悪いのでしょうか?
それと、
もうひとつ、
ワードパッドで、
現在、カーソルを当てている箇所の
行番号や列番号を表示させる
方法はあるのでしょうか?
>出来ているWAVファイルは、
>期待している16kHzのものではなく、
>11.025kHzのもの。
>何が悪いのでしょうか?
ハードウェアやドライバは16kHzに対応していますか?
waveInGetDevCaps()で取得できるWAVEINCAPS構造体には16kHzを示すdefine定義は無い…よ
うですが。
MCI_WAVE_SET_PARMSで設定するMCI_SETコマンドは正常終了していますか?
えっ。
ということは、11.025kHzの音しかできないと。
> MCI_WAVE_SET_PARMSで設定するMCI_SETコマンドは正常終了していますか?
それは、どうやって、確認すれば?
>ということは、11.025kHzの音しかできないと。
ハードウェアやドライバが対応していないと、どうにもできないかと。
>> MCI_WAVE_SET_PARMSで設定するMCI_SETコマンドは正常終了していますか?
>それは、どうやって、確認すれば?
http://msdn.microsoft.com/en-us/library/dd743467(VS.85).aspx
>Return Value
> Returns zero if successful or an error otherwise.
mciSendCommand()の戻り値で確認できるかと。
この辺に関連した記事が以下にあったので紹介しておきます。
言語は違うかもしれませんけれど、参考にはなるかと。
http://www.ne.jp/asahi/nagoya/ahomaro/builder/cpb-059.html
mwsp.nSamplesPerSec = 16000; // サンプリングレート
これの性能は、「waveInGetDevCaps」で調べるみたいでですね。
最大サンプリングレートは、WAVEINCAPSのdwFormats が該当するみたいですが、
16kHzはないですね。
16kHzにこだわる理由は何ですか?