FiFiWiki2

FiFiWikiの第2版

ユーザ用ツール

サイト用ツール


c.sharp

Chart

コンストラクタとForm_Loadについて

コンストラクタはインスタンスが作られるときに一回だけ呼ばれるモノです。Load は Show か ShowDialog だったかどっちか忘れましたけど、表示する度に呼ばれるモノです(Show と ShowDialog で挙動が違ったはず)、同じインスタンスを表示して隠して表示して、を繰り返すなら明らかに違いますよね。http://bbs.wankuma.com/index.cgi?mode=al2&namber=38433&KLOG=66

NAudio - マイク録音

snippet.csharp
public WaveIn waveSource = null;
public WaveFileWriter waveFile = null;
 
private void StartBtn_Click(object sender, EventArgs e)
{
    StartBtn.Enabled = false;
    StopBtn.Enabled = true;
 
    waveSource = new WaveIn();
    waveSource.WaveFormat = new WaveFormat(44100, 1);
 
    waveSource.DataAvailable += new EventHandler<WaveInEventArgs>(waveSource_DataAvailable);
    waveSource.RecordingStopped += new EventHandler<StoppedEventArgs>(waveSource_RecordingStopped);
 
    waveFile = new WaveFileWriter(@"C:\Temp\Test0001.wav", waveSource.WaveFormat);
 
    waveSource.StartRecording();
}
 
private void StopBtn_Click(object sender, EventArgs e)
{
    StopBtn.Enabled = false;
 
    waveSource.StopRecording();
}
 
void waveSource_DataAvailable(object sender, WaveInEventArgs e)
{
    if (waveFile != null)
    {
        waveFile.Write(e.Buffer, 0, e.BytesRecorded);
        waveFile.Flush();
    }
}
 
void waveSource_RecordingStopped(object sender, StoppedEventArgs e)
{
    if (waveSource != null)
    {
        waveSource.Dispose();
        waveSource = null;
    }
 
    if (waveFile != null)
    {
        waveFile.Dispose();
        waveFile = null;
    }
 
    StartBtn.Enabled = true;
}
c.sharp.txt · 最終更新: 2017/11/26 23:40 by fifi