본문 바로가기
컴퓨터/C#

C# 마이크 입력 실시간 처리

by Begi 2022. 6. 20.
반응형

NAuduio 라이브러리를 사용하여 마이크 입력을 시작하는 코드는 다음과 같다.

 

using NAudio.Wave;

 

var waveIn = new NAudio.Wave.WaveInEvent
{
    DeviceNumber = 0,
    WaveFormat = new NAudio.Wave.WaveFormat(rate: 44100, bits: 16, channels: 1),
    BufferMilliseconds = 100
};
waveIn.DataAvailable += OnDataAvailable;
waveIn.StartRecording();

 

 

다음 함수는 100ms마다 실행된다. args.BytesRecorded는 8820(=44100*2*0.1)이다.


private void OnDataAvailable(object sender, NAudio.Wave.WaveInEventArgs args)
{
    int value;
    int bytesPerSample = 2;

    for(int index = 0; index < args.BytesRecorded; index += bytesPerSample)
    {
        value = BitConverter.ToInt16(args.Buffer, index);

        /* 실시간 처리 함수 */
    }
}

 

 

NAuduio 라이브러리 설치 방법

NAudio 홈페이지

 

반응형

'컴퓨터 > C#' 카테고리의 다른 글

DataGridView 줄 추가하기  (0) 2022.06.24
DataGridView 셀 컬러 변경  (0) 2022.06.24
C# NAudio 라이브러리 설치  (0) 2022.06.20
C# comboBox 모든 아이템 복사  (0) 2022.06.08
C# 도구상자에 SerialPort 컨트롤이 없을 때  (0) 2022.06.01

댓글