2012-10-28 5 views
1

나는 나의 첫 번째 다이빙을 WASAPI 윈도우 시스템으로 가져 가고 있는데, 내가 원한 것이 윈도우 API에서도 가능한지 모르겠다.다른 프로세스에서 렌더링 오디오 세션을 캡처 할 수 있습니까?

다양한 프로그램의 사운드를 녹음하고 각각의 녹음 된 트랙/오디오 파일로 나누는 프로그램을 작성하려고합니다. reseacrch에서 내가 기록해야하는 유닛은 다양한 audio sessions이 엔드 포인트에 렌더링된다는 것을 알았고 정상적인 기록 방법은 렌더 엔드 포인트를 가져 와서 루프백을 수행하는 것입니다. 그러나 지금까지 MSDN에서 읽은 내용은 IAudioSessionControl을 통한 세션과의 유일한 상호 작용으로 세션의 스트림 복사본을 가져 오는 방법을 제공하지 않습니다.

WASAPI (또는 다른 Windows API)를 사용하여이 작업을 수행하고 끝점을 형성하기 위해 함께 혼합되기 전에 개별 세션 (또는 개별 스트림)을 가져올 수있는 것이 누락되었거나이 것이 불가능한 목표입니다. ?

답변

2

API (WASAPI) 내에서 믹싱이 발생하며 다른 오디오 클라이언트의 버퍼에 액세스 할 수 없습니다. 그들이 현재의 프로세스의 맥락에서 존재하지 않는다는 것을 의미합니다. 문제의 태스크가 이와 같은 더러운 트릭을 허용하는 경우 아마도 가장 좋은 (좋지는 않지만 더 좋은 대안은 없습니다) 방법은 API 호출을 연결하고 WASAPI로가는 도중에 데이터를 가로 채는 것입니다.