Udostępnij przez


Filtr renderatora DirectSound

[Funkcja skojarzona z tą stroną, DirectShow, jest starszą funkcją. Został zastąpiony przez MediaPlayer, IMFMediaEnginei Audio/Video Capture w Media Foundation. Te funkcje zostały zoptymalizowane pod kątem systemów Windows 10 i Windows 11. Firma Microsoft zdecydowanie zaleca, aby nowy kod używał MediaPlayer, IMFMediaEngine i Audio/Video Capture w programie Media Foundation zamiast DirectShow, jeśli to możliwe. Firma Microsoft sugeruje, że istniejący kod, który używa starszych interfejsów API, należy przepisać go do korzystania z nowych interfejsów API, jeśli to możliwe.]

Ten filtr renderuje dźwięk przy użyciu funkcji DirectSound. Ten filtr jest obecnie domyślnym modułem renderatora audio dla dźwięku falowego.

Oprócz podstawowych możliwości renderowania dźwięku ten filtr może przetwarzać wywołania interfejsu API DirectSound. Użyj metod IAMDirectSound, aby ustawić i pobrać okno, które będzie obsługiwać odtwarzanie dźwięku. DirectSound Audio Renderer jest domyślnym filtrem renderowania audio dla DirectShow.

Etykieta Wartość
Interfejsy filtru IAMAudioRendererStats, IAMClockSlave, IAMDirectSound, IAMResourceControl, IBaseFilter, IBasicAudio, IDirectSound3DBuffer, IDirectSound3dListener, IMediaPosition, IMediaSeeking, IQualityControl, IReferenceClock
Typy nośników przypinania danych wejściowych Typ główny: MEDIATYPE_AudioSubtypes:
  • MEDIASUBTYPE_PCM
  • MEDIASUBTYPE_IEEE_FLOAT
  • MEDIASUBTYPE_DOLBY_AC3_SPDIF
  • MEDIASUBTYPE_RAW_SPORT
  • MEDIASUBTYPE_SPDIF_TAG_241h
  • MEDIASUBTYPE_DRM_Audio
Typ formatu: FORMAT_WaveFormatEx
Interfejsy wyprowadzania danych wejściowych IMemInputPin, IPin, IPinConnection, IQualityControl
Typy nośników wyprowadzania danych wyjściowych Nie dotyczy.
Interfejsy wyprowadzeń wyjściowych Nie dotyczy.
Filtr CLSID CLSID_DSoundRender
Identyfikator CLSID strony właściwości CLSID_AudioProperties, CLSID_AudioRendererAdvancedProperties
Plik wykonywalny quartz.dll
Merit MERIT_PREFERRED
filtru kategorii CLSID_AudioRendererCategory

Uwagi

Ten filtr działa jako otoka dla urządzenia audio. Aby wyliczyć urządzenia audio dostępne w systemie użytkownika, użyj interfejsu ICreateDevEnum z kategorią modułu renderowania audio (CLSID_AudioRendererCategory). Dla każdego urządzenia audio kategoria modułu renderowania audio zawiera dwa wystąpienia filtru. Jeden z nich odnosi się do modułu renderowania DirectSound, a drugi odpowiada filtrowi Audio Renderer (WaveOut). Wystąpienie DirectSound ma przyjazną nazwę "DirectSound: DeviceName", gdzie DeviceName jest nazwą urządzenia. Wystąpienie WaveOut ma przyjazną nazwę DeviceName.

Kategoria renderowania audio zawiera dwa dodatkowe wystąpienia filtrów o nazwie "Domyślne urządzenie DirectSound" i "Domyślne urządzenie WaveOut". Odpowiadają one domyślnemu urządzeniu dźwiękowemu wybranemu przez użytkownika za pośrednictwem Panelu sterowania. Są one rzeczywiście mapowane na jedną z par opisanych w poprzednim akapicie. Jeśli na przykład system ma dwa urządzenia audio, Urządzenie A i Urządzenie B, kategoria modułu renderowania audio będzie zawierać następujące elementy:

  • Urządzenie A
  • DirectSound: urządzenie A
  • Urządzenie B
  • DirectSound: Urządzenie B
  • Domyślne urządzenie DirectSound
  • Domyślne urządzenie WaveOut

Jeśli użytkownik wybrał urządzenie A jako domyślne urządzenie, "Domyślne urządzenie DirectSound" jest równoważne "DirectSound: Urządzenie A" i "Domyślne urządzenie WaveOut" jest równoważne "Urządzenie A". Jeśli użytkownik wybierze urządzenie B jako urządzenie domyślne, te mapowania zostaną zmienione.

"Domyślne urządzenie DirectSound" ma przypisaną wartość MERIT_PREFERRED. Inni mają zasługi MERIT_DO_NOT_USE. W związku z tym funkcja Intelligent Connect zawsze wybiera domyślne urządzenie DirectSound.

Filtr renderowania DirectSound obsługuje dźwięk 3D za pośrednictwem interfejsów IDirect Sound3DBuffer i IDirectSound3dListener. Możesz również wykonać zapytanie dotyczące filtru dla bieżących wersji tych interfejsów, IDirectSound3DBuffer8 i IDirectSound3dListener8. Uruchom graf przed wywołaniem metod w tych interfejsach.

filtry DirectShow