音の終了直前にノイズ

[戻る]
ショボン 2014/01/23(木) 13:26:17
VisualStudio2013を使用しています。

http://detail.chiebukuro.yahoo.co.jp/qa/question_detail/q12118891167
のコードを参考にしてMFCリソースのWAV音を出すプログラムを作ったのですが、
音を鳴らすと、音の終了直前にノイズが入りました。

どうすれば、このノイズが消えるでしょうか。

紅' 2014/01/24(金) 14:11:01
こんにちわ。

質問です。
・ノイズが入るのは、wav ファイルの最後の音が鳴った後ですか前ですか

以下は後である場合です。

参照先のコードをみると、波形データの実際のサイズよりも、
波形データのサイズとして設定している数値の方が大きいように思えます。
これが正しい場合は、波形データに存在しない
(メモリに偶然あった波形データではない)データをもとに最後のほうの音を
鳴らしていることになります。
であればそれが人の耳にノイズとして聞こえることもあり得る話です。

なのでまずは当該個所を見直してみてはいかがでしょうか。
ここで音を鳴らして確認することはできないので、違っていたらごめんなさい。


蛇足ですが、もし上の話の意味がわからないということであれば
これはこの件についてはかなり基本的なことなので、試行錯誤の上で体得することをお
勧めします。
私の日本語能力の問題だったらおおめに見てあげてください。。

ショボン 2014/01/24(金) 21:00:12
[[解決]]
ご返答ありがとうございます。

ノイズは、最後の音が鳴った後です。

http://www.kk.iij4u.or.jp/~kondo/wave/

を参照しながら試行錯誤した結果

wh.lpData = ( LPSTR )( pWave + 16 + *pi + 16 );

を

wh.lpData = (LPSTR)(pWave + 16 + *pi + 8);

としたところ、ノイズがなくなりました。

ご協力感謝いたします。

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