PC 소리를 녹음하고싶습니다.

제목 그대로, 영상을 보거나 할때 소리를 녹음하고싶어서 코드를 짜보고있는데 계속 녹음이 안되서 문의드립니다.

public void RecordAudio()
 {
        waveSource = new WaveIn();
        waveSource.WaveFormat = new WaveFormat(48000, 16, 2);

        waveSource.DataAvailable += new EventHandler<WaveInEventArgs>(waveSource_DataAvailable);
        waveSource.RecordingStopped += new EventHandler<StoppedEventArgs>(waveSource_RecordingStopped);

        string audioPath = outputPath + "//" + audioName;
        waveFile = new WaveFileWriter(audioPath, waveSource.WaveFormat);

        waveSource.StartRecording();
}

void waveSource_DataAvailable(object sender, WaveInEventArgs e)
{
        byte[] ebuffer = new byte[e.BytesRecorded];
        for (int n = 0; n < ebuffer.Length; n++)
        {
            ebuffer[n] = e.Buffer[n];
        }
        bytes.Add(ebuffer);
}

void waveSource_RecordingStopped(object sender, StoppedEventArgs e)
{
        if (waveSource != null)
        {
            waveSource.Dispose();
            waveSource = null;
        }

        if (waveFile != null)
        {
            waveFile.Dispose();
            waveFile = null;
        }
}

위와 같이 코드를 작성했는데, 결과 wav파일에는 소리가 하나도 안들어가 있습니다
윈도우 소리설정이 아래처럼 되어있고, 소리는 데스크탑에 연결된 모니터에서 나고있습니다

제가 뭐 놓치고있는게 있는지, 어떻게 해야 소리 녹음이 제대로 될 수 있는지 문의드립니다

2 Likes

How to record any PC sound through WASAPI and Audio Sound Recorder for .NET - CodeProject

Capturing a Stream - Win32 apps | Microsoft Learn

2 Likes

다른 피씨로 테스트해보니까 다른피씨에서는 녹음이 되네요…
위에 세팅된 피씨만 문제가 있는거 같습니다.

스테레오믹스가 리얼텍으로 되어있어서
출력도 리얼텍으로 맞추고 해봐도 안되네요
사운드카드 드라이버도 깔아봐도 안되구요…

스테레오믹스 볼륨도 최대고 음소거도아니고… 도대체…

2 Likes