Soundがcaptureできれば...その4
1.大分、進化いたしました。
サウンドカードも、192KHzまで対応できるものに、替えました。
Prodigy7.1XT と言う、サウンドカードです。私にしては、張り込んだ値段でした。(送料、税込み\12343) 珍しいなあ....(^_^;
48KHzサンプリングでの、24KHzまでの特性
Prodigy7.1XT
YAMAHA YMF724搭載バルク
ちょっと、ええようです。
Prodigy7.1XTのほうは、勿論、96KHzサンプリングできます。
新しい機能としては、窓関数をリアルタイムで、替えることができます。
spectrumに、殆ど、変化ないけど....
例によって、SoundLibraryのお世話になっております、m(_ _)m
新しい機能の目玉は、spectrum拡大ボタンをおすと、spectrumの表示が、大きくなります。
波形拡大にすると、以下のように、波形が拡大されて、表示されます。
種明かしは、波形、spectrum表示画面のベースに、splitContainerを、置いたのでした。
この両表示画面、及び、splitContainerのAnchorを、全方向に指定しておいて
このsplitContainerのsplitdistanceの位置を替えただけなんです、めちゃ簡単にできちゃいます。
private void split_button_Click(object sender, EventArgs e)
{
spectrum_mag = !spectrum_mag;
if (spectrum_mag)
{
splitContainer1.SplitterDistance = 4;
split_button.Text = "波形拡大";
}
else
{
splitContainer1.SplitterDistance = splitContainer1.Height - 4;
split_button.Text = "spectrum 拡大";
}
}
全画面表示にも、対応しました。
最初は、只、縮尺率を掛けて、描画していたのですが、
「C# ゲームプログラミング 赤坂玲音 ソフトバンククリエイティブ社」を見て、大いに参考にさせて頂きました。
方法として、1番簡単なのが、座標変換です。ワールド変換を使います。
しかし、この方法は、元の画像が拡大されるので、ちょっと、汚くなります、あかん。
次は、メタファイルを、メモリーに描画して、出来上がった画像を、一挙に表示する方法です。
詳しく書けんけど、アウト。
最後は、書き方は、メタファイルと同じなのですが、BMPファイルをメモリに描く方法です。
これで、リソースの大食いを止められました、グッド。
問題は、描画が遅いことです。
波形の変化が、カクカクしていることです。
やっぱり、DirectDrawでないと、満足でけん....ちゅうことに、なりまして、
いざ、DirectXの DirectDraw を、始めんかな....しんど。.
H.18.8.9