2013-04-13 5 views
0

VOIP chatterbox app을 참조 코드로 사용하고 있습니다. 나는 네트워크에 보낼 수 있도록 C#에서 캡처 된 오디오 데이터를 얻으려고합니다. 백엔드 프로젝트 Server.h에는 UI에서 사용할 수있는 callController 객체를 제공하는 메소드가 있습니다. 내가 audiocontroller 개체를 줄 것이다 메서드를 추가하려고하지만 응용 프로그램이 0x6BE27618 위치를 실행하는 액세스 위반 말하는 충돌입니다.마이크 버퍼를 캡처하는 방법

또는 C# 코드에서 마이크 데이터를 가져 오는 데 사용할 수있는 다른 방법이 있습니다.

답변

0

실제로 사용하려는 컨텍스트에 따라 달라집니다. 표준 응용 프로그램의 경우 Coding4Fun Toolkit을 통해이를 수행 할 추상화 된 방법이 있습니다. MicrophoneRecorder 클래스를 사용하십시오. 그것은 내려 오면 :

MicrophoneRecorder recorder = new MicrophoneRecorder(); 
recorder.Start(); 
// Do something - e.g. wait 
recorder.Stop(); 
byte[] capture = recorder.Buffer; 
+0

나는 알고있다. 그러나 나는 chatterbox refernce 코드에서 마이크 데이터를 얻고 싶다. 현재로서는 네이티브 코드로만이 데이터를 관리되는 코드로 가져 오려고합니다. – user1634576

+0

http://code.msdn.microsoft.com/ChatterBox-VoIP-sample-app-b1e63b8b – user1634576

+0

UI에서 BackEndAudio 개체를 가져올 수 있습니다. 캡처 된 데이터가 준비되면 BackEndAudio 클래스에서 이벤트가 발생합니다. 그 이벤트를 잡으려고 나는 C# 코드에서 이벤트 리스너를 추가하고있다. 그러나 나는 다음 예외를 얻고있다. 누구나이 문제를 해결할 수 있습니다. HeadlessHost.exe의 처리되지 않은 예외 인 0x6D8E2F15 (Msvcr110d.dll) : 0xC0000005 : 0x00000000 위치에 액세스 위반이 기록됩니다. – user1634576

관련 문제