2012-04-19 4 views
3

누군가가 이야기 할 때만 오디오를 녹음 할 수 있습니까? 나는 마이크를 듣고 "볼륨"이 약간의 소음 레벨 (누군가가 말하는 것을 의미 함)보다 클 때만 녹음을 시작하고 싶습니다. 녹음 된 오디오의 음높이도 변경해야합니다.Windows 8 메트로 레코드 오디오 (필터 노이즈, 피치 변경)

C#에서 MediaCapture 클래스를 시도했지만 예제의 StartRecordToStorageFileAsync를 사용할 수 없습니다. 윈도우 폰에서 내가 XNA를 사용하지만 MSDN 포럼에서 Windows 8에

+0

어떻게 윈도우 8에 손을 넣었습니까?)? – Zaki

+0

@ Sam1 - '소비자 미리보기'단계에 있습니까? http://windows.microsoft.com/ko-KR/windows-8/consumer-preview?SignedIn=1 –

+0

@RitchMelton 링크가 도움이되었습니다. – Zaki

답변

1

확인이 스레드를 비슷한 API를 찾을 수 없습니다 :이 아마도 C#에서 것을 수행하기위한 API를하지 않습니다 것 같다 How to get the decibel with C#?

, 비주얼 베이직 또는 자바 스크립트와 네이티브 구성 요소에서해야합니다. Win32 and COM for Metro style apps (multimedia)

내가 this document 관련 코드 샘플을 가질 수있는 키 넥트 센서로부터 오디오를 캡처 샘플에 대한 설명을 가지고 있다고 생각 : 스레드에 언급 된 기사

코어 오디오/WASAPI API는 당신이 필요로하는 무엇을해야 GetBuffer() 호출을 사용하여 필요한 정보를 얻기 위해 처리 할 수있는 원시 오디오 샘플의 버퍼를 가져 오는 방법을 보여줍니다.

+0

샘플이 Metro에서 제대로 작동하지 않을 것입니다. Metro 스타일 응용 프로그램 (예 : IMMDevice)에서는 지원되지 않습니다. –

+0

물론 그 중 일부는 도움이됩니다. 나는 지하철 작풍 apps를 위해 좋은 것을 찾아 낼 수 없었다. –

+0

C++ API 사용을 피하기 위해 무엇이든 할 것입니다. 기사에서 언급 된 500ms 지연은 저에게 문제가되지 않습니다. 내 생각은 StartRecordToStreamAsync를 사용하여 오디오를 스트림에 영구히 기록하고 볼륨이 무언가보다 높으면 스트림을 점검하여 일시적으로 점검합니다 (누군가가 말함). 나는 시내에서 두 곳의 위치를 ​​얻을 것이고 나는 시내의 일부를 밖으로 찾아 내고 그것을 사용할 것이다. 내가 할 수 있을까? 그렇다면 어떻게? –

관련 문제