KsStudio - 사용 예제

이 항목에서는 KSStudio 유틸리티를 사용하여 WDM 오디오 문제를 해결하기 위한 세 가지 사용 예제를 제공합니다. 자세한 내용은 KSStudio 유틸리티를 참조하세요.

예제 1: 오디오가 작동하지 않음

시나리오:

개발자는 오디오 디바이스 드라이버를 설치하지만 플레이어 앱(예: Windows 미디어 플레이어)은 사용할 수 있는 오디오 디바이스가 없음을 나타냅니다.

문제 해결:

  1. 디바이스가 디바이스 관리자에 표시됩니까? 그렇다면 2단계로 이동하면 디바이스를 설치하는 데 사용되는 INF 파일에 문제가 있습니다.

  2. 디바이스에 노란색 느낌표가 있나요? 그렇다면 디바이스가 성공적으로 설치되지 않았습니다(자세한 내용은 디바이스의 속성을 확인). 그렇지 않으면 goto 단계(3)입니다.

  3. KSStudio를 시작합니다. 클래스 KSCATEGORY_AUDIO 및 KSCATEGORY_AUDIO_DEVICE 필터를 열거합니다. 오디오 디바이스에 해당하는 필터가 KSCATEGORY_AUDIO 아래에 표시하나요? 그렇다면 goto(4)이고, 그렇지 않으면 필터 팩터리는 올바르게 등록되지 않습니다. 가장 일반적인 원인은 INF의 XXX guid와 필터에 대한 소스 코드의 XXX guid가 일치하지 않는 것입니다.

  4. KSCATEGORY_AUDIO_DEVICE 필터는 시스템 빌드 오디오 그래프의 일부를 나타내는 가상 필터입니다. 자세한 내용은 커널 모드 WDM 오디오 구성 요소 및 가상 오디오 디바이스를 참조하세요. 일반적으로 이러한 가상 필터는 더 높은 수준의 API 액세스입니다.

afore멘션ed _AUDIO 필터 팩터리에 해당하는 가상 필터 팩터리(있는 경우 분명)가 있나요? 그렇다면 (5)로 이동하면 드라이버에 sysaudio가 거부되는 문제가 있습니다. 해당 _AUDIO 디바이스를 인스턴스화합니다. 이로 인해 KSStudio가 필터를 프로파일로 만듭니다. 로깅 창에서 오류(빨간색 텍스트)를 찾습니다. "인스턴스화된 개체" 보기에서 필터를 검사합니다. 작동하는 필터(아마도 DDK 샘플 드라이버 중 하나 또는 다른 제조업체의 필터)와 비교합니다.

  1. mmsys.cpl 실행하고 개발 중인 필터에 해당하는 디바이스가 표시되는지 확인합니다. MMSystem API를 통해 디바이스의 보기입니다. 여기에 디바이스가 표시되지 않으면 MMSystem이 이를 거부하게 한 디바이스에 대한 특이한 점이 있습니다. KSStudio로 돌아가서 디바이스에 해당하는 KSCATEGORY_AUDIO_DEVICE 가상 필터 팩터리를 인스턴스화합니다. 로깅 창에서 오류(빨간색 텍스트)를 찾습니다. "인스턴스화된 개체" 보기에서 필터를 검사합니다. 작동하는 필터(아마도 WDK 샘플 오디오 드라이버 중 하나 또는 다른 제조업체의 필터)와 비교합니다.

예제 2: 오디오 믹서 라인이 없습니다.

시나리오:

오디오 디바이스가 설치됩니다. SndVol32(또는 다른 믹서 애플리케이션)에서 하나 이상의 예상 믹서 선이 누락되었습니다.

문제 해결:

  1. KSStudio에서 필터의 토폴로지가 올바르게 보이나요? KSStudio를 시작하고 KSCATEGORY_AUDIO 열거합니다. 토폴로지 필터를 인스턴스화하고 개체 토폴로지 보기에서 노드 보기 옵션을 선택합니다. 필터 토폴로지의 모양이 올바른가요? 이 경우 해당 KSCATEGORY_AUDIO_DEVICE 필터에 대해 반복합니다. 이 토폴로지에서 적절한 이동(2)으로 이동하는 경우 토폴로지 필터에 오디오 스택의 상위 구성 요소에 대한 토폴로지 식을 방지하는 몇 가지 문제가 있습니다. 필터 토폴로지를 믹서 선으로 변환하는 방법에 대한 자세한 내용은 DDK 설명서를 참조하세요.

  2. MixApp에서 믹서 라인이 예상대로 표시 합니까? MixApp은 매우 간단하지만 유용한 Windows SDK 샘플 앱입니다. 믹서 라인이 MixApp에서 올바르게 보이지만 이전에 인용 된 문제가있는 믹서 응용 프로그램에서는 그렇지 않으면 앱 버그일 수 있습니다.

예제 3: 오디오 믹서 컨트롤이 없거나 작동하지 않음

시나리오:

믹서 컨트롤(MMSystem mixer API)이 표시되지 않거나 SndVol32 또는 다른 믹서 애플리케이션에서 작동하지 않습니다.

문제 해결:

  1. 위의 예제 2에서 문제 해결을 진행합니다.

  2. 하드웨어 이벤트 지원이 KSStudio에서 작동하는 것처럼 보이나요? KSEVENT_CONTROL_CHANGE 이벤트를 지원하는 노드 또는 핀을 찾아 KSStudio - KSProperties 및 이벤트에 설명된 대로 사용하도록 설정합니다. 하드웨어 컨트롤을 전환합니다. 이로 인해 이벤트 전구 아이콘이 깜박입니다.

참고 항목

KSStudio 유틸리티

KSStudio - 필터 및 필터 팩터리

KSStudio - 핀 및 노드

KSStudio - KSProperties 및 이벤트

KSStudio - KS 모니터