サンプリング周波数等の設定が空振り・何故?_

[戻る]
いえやす 2010/04/24(土) 13:14:02
録音する時に、
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のもの。

何が悪いのでしょうか?

それと、
もうひとつ、
ワードパッドで、
現在、カーソルを当てている箇所の
行番号や列番号を表示させる
方法はあるのでしょうか?

瀬戸っぷ [E-Mail] 2010/04/24(土) 15:27:53
>出来ているWAVファイルは、
>期待している16kHzのものではなく、
>11.025kHzのもの。
>何が悪いのでしょうか?

ハードウェアやドライバは16kHzに対応していますか?

waveInGetDevCaps()で取得できるWAVEINCAPS構造体には16kHzを示すdefine定義は無い…よ
うですが。
MCI_WAVE_SET_PARMSで設定するMCI_SETコマンドは正常終了していますか?

いえやす 2010/04/24(土) 19:00:12
えっ。
ということは、11.025kHzの音しかできないと。

> MCI_WAVE_SET_PARMSで設定するMCI_SETコマンドは正常終了していますか?

それは、どうやって、確認すれば?

瀬戸っぷ [E-Mail] 2010/04/24(土) 23:51:59
>ということは、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()の戻り値で確認できるかと。

PATIO 2010/04/26(月) 09:59:56
この辺に関連した記事が以下にあったので紹介しておきます。
言語は違うかもしれませんけれど、参考にはなるかと。

http://www.ne.jp/asahi/nagoya/ahomaro/builder/cpb-059.html

ITO 2010/05/04(火) 20:06:45
mwsp.nSamplesPerSec = 16000;   //  サンプリングレート
これの性能は、「waveInGetDevCaps」で調べるみたいでですね。

最大サンプリングレートは、WAVEINCAPSのdwFormats が該当するみたいですが、

16kHzはないですね。
16kHzにこだわる理由は何ですか?

古いスレッドには追加発言できません。