2013-06-01 7 views
0

Naudio + WASAPI를 사용하여 마이크 오디오를 캡쳐하는 방법에 대한 예제 코드를 찾고 있습니다. Naudio + WASAPI를 사용하여 마이크 오디오 캡처?

(내가. 내가 필요로하는 일부 오디오 효과를 수행하기 위해 실시간으로 입력 버퍼를 처리하는 것입니다, 디스크 녹화에 직접에 관심이없는 오전) 나는 많이 검색했지만 찾을 수 없습니다 괜찮은 샘플 온라인.

도와 주시겠습니까?

P. BASS 라이브러리 및 C# 예제도 환영합니다!

답변

3

NAudio source code에는 WASAPI를 사용하여 오디오를 캡처하는 방법을 보여주는 데모 앱이 제공됩니다. NAudioDemo\RecordingDemo\RecordingPanel.cs을보십시오.

+0

답변 해 주셔서 감사합니다. 그 예제를 보았지만 버퍼 크기가 계속 변하고있는 것 같습니다 (7000-8000 바이트). 버퍼 고정 크기로 만들기 위해이 코드를 수정할 방법이 있습니까? – AudioMaster

+1

나는 그것이 WASAPI가 구현되는 방식의 인공물이라고 생각한다. 당신은 일정한 크기가 필요할 경우 버퍼를 스스로 청크로 나눌 수 있습니다. –

0

MSDN에는 많은 샘플 코드가 있지만 NAudio는 다루지 않지만 Windows Audio Session API를 사용하는 방법을 자세하게 보여주는 몇 가지 샘플이 있습니다.

WASAPI는 네이티브 전용 API이므로 기본 패키지 Here에서 해당 API를 사용하는 방법을 보여주는 샘플 프로젝트는 물론 API를 래핑하는 네이티브 구성 요소를 작성하는 방법을 보여주는 샘플이 있습니다. CSHARP 응용 프로그램에서 소비. C#/C++ 샘플에 대한 직접 링크를 찾을 수 없지만 Windows 8 App Samples 패키지에 포함되어 있습니다. 그렇다면 API에 대해 관리되는 래퍼를 작성하는 옵션이 있습니다.하지만 통증을 즐기고 마샬링에서 모험을 원한다면 추천하지 않습니다.

Windows Phone 용으로 개발하는 경우 WASAPI를 사용하여 PCM 오디오 데이터를 캡처하고 렌더링하는 방법을 다루는 WP8 SDK의 VOIP 샘플.

표기된 바와 같이 pcm 데이터 버퍼의 크기는 시간이 지남에 따라 다를 수 있으며 이는 부분적으로 WASAPI가 대기 시간이 짧은 오디오 API이므로 사용자 (앱) 및 생산자 (운전자)에게 가능한 한 많은 정보를 제공합니다. 비록 당신이 당신의 자신의 버퍼를 가득 채울 때 당신의 자신의 약간의 수정 사이즈 버퍼링을하는 것을 멈추지 않고 당신의 앱으로 만 데이터를 전달할 수있는 것이 아무것도 없다.