Udostępnij za pośrednictwem


AECMicArray

W tym przykładzie użyto interfejsów API core audio do przechwytywania wysokiej jakości strumienia głosowego. Przykład obsługuje anulowanie echa akustycznego (AEC) i przetwarzanie tablicy mikrofonów przy użyciu AEC DMO, nazywanej również dsP przechwytywania głosu, dostarczone przez firmę Microsoft .

Ten temat zawiera następujące sekcje.

Opis

W tym przykładzie przedstawiono następujące funkcje.

  • MMDevice w przypadku wyliczenia i wyboru urządzenia multimedialnego.
  • WASAPI dla operacji zarządzania strumieniem, takich jak uruchamianie i zatrzymywanie strumienia, przełączanie strumienia.
  • DeviceTopology na potrzeby wyliczania kart audio.
  • EndpointVolume kontrolować poziomy głośności sesji audio .

Wymagania

Produkt Wersja
zestaw Windows SDK Windows Vista lub nowszy
Visual Studio 2005 (wersje inne niż express)

 

Pobieranie przykładu

Ten przykład jest dostępny w następujących lokalizacjach.

Lokalizacja Ścieżka/adres URL
Windows SDK \Program Files\Microsoft SDKs\Windows\v7.0\Samples\Multimedia\Audio\AECMicArray\...

 

Kompilowanie przykładu

Aby skompilować przykład AecSDKDemo, wykonaj następujące kroki:

  1. Otwórz okno polecenia zestawu SDK.

  2. Wpisz cd %MSSDK%\Setup.

  3. Uruchom VCIntegrate.exe.

    Od tego momentu okna poleceń będą miały odpowiednie ustawienia środowiska, aby utworzyć aplikację korzystającą z zestawu SDK.

  4. Skompiluj przykład.

Uruchamianie przykładu

Jeśli aplikacja demonstracyjna zostanie utworzona pomyślnie, zostanie wygenerowany plik wykonywalny AecSDKDemo.exe. Aby go uruchomić, wpisz AecSDKDemo w oknie polecenia, a następnie wymagane lub opcjonalne argumenty, jak opisano poniżej.

AecSDKDemo -out mic_out.pcm -mod system_mode [-option value]

W poniższej tabeli przedstawiono argumenty.

Argument Opis
-na zewnątrz Wymagane. Określa nazwę pliku wyjściowego.
-mod Wymagane. Określa tryb systemowy przechwytywania głosu. Szczegółowe informacje można znaleźć w sekcji "Konfigurowanie funkcji DMO przechwytywania głosu" w przykładowym pliku readme.
-wyczyn Fakultatywny. Włącza tryb funkcji (1) lub wyłączony (0).
-Ns Fakultatywny. Włącza tłumienie szumu (1) lub wyłączone (0). Aby to określić, tryb funkcji musi być włączony.
-Agc Fakultatywny. Włącza cyfrową grupę dostępności (1) lub wyłącz (0). Aby to określić, tryb funkcji musi być włączony.
-cntrclip Fakultatywny. Włącza wycinek środkowy (1) lub wyłączony (0). Aby to określić, tryb funkcji musi być włączony.
-spkdev Fakultatywny. Określa indeks urządzenia mówiącego. Jeśli nie zostanie określony, użytkownik zostanie poproszony o wybranie.
-micdev Fakultatywny. Określa indeks urządzenia mikrofonu. Jeśli nie zostanie określony, użytkownik zostanie poproszony o wybranie.
-czas trwania Fakultatywny. Określa, jak długo działa aplikacja.

 

Ta przykładowa aplikacja nie odtwarza żadnych sygnałów. Aby prawidłowo uruchomić pokaz dla trybów z włączoną usługą AEC (tryb 0 i 4), użytkownicy muszą odtwarzać niektóre sygnały audio za pośrednictwem tego samego urządzenia głośnika określonego dla dmo (czyli urządzenia określonego przez opcję "-spkdev"), który symuluje głos skrajny w dwukierunkowym scenariuszu rozmów. Użytkownicy mogą używać dowolnego odtwarzacza do odtwarzania dowolnych sygnałów dźwiękowych. Jeśli na wybranym urządzeniu głośnikowym nie ma aktywnego strumienia renderowania, proces DMO zakończy się niepowodzeniem.

przykłady zestawu SDK korzystające z podstawowych interfejsów API audio