CaptureSharedTimerDriven
Ta przykładowa aplikacja używa podstawowych interfejsów API audio do przechwytywania danych dźwiękowych z urządzenia wejściowego określonego przez użytkownika i zapisuje je w unikatowym pliku .wav w bieżącym katalogu. W tym przykładzie pokazano buforowanie sterowane czasomierzem.
Ten temat zawiera następujące sekcje.
- opis
- wymagania dotyczące
- pobieranie przykładowej
- tworzenie przykładu
- uruchamianie przykładowej
- Tematy pokrewne
Opis
W tym przykładzie przedstawiono następujące funkcje.
- interfejsu API MMDevice dla wyliczenia i wyboru urządzenia multimedialnego.
- WASAPI na potrzeby operacji zarządzania strumieniem.
Wymagania
Produkt | Wersja |
---|---|
zestaw Windows SDK | Windows 7 |
Visual Studio | 2008 |
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\CaptureSharedTimerDriven\... |
Kompilowanie przykładu
Aby skompilować przykład CaptureSharedTimerDriven, wykonaj następujące kroki:
- Otwórz powłokę CMD dla zestawu Windows SDK i przejdź do katalogu przykładowego CaptureSharedTimerDriven.
- Uruchom polecenie
start WASAPICaptureSharedTimerDriven.sln
w katalogu CaptureSharedTimerDriven, aby otworzyć projekt WASAPICaptureSharedTimerDriven w oknie programu Visual Studio. - W oknie wybierz konfigurację rozwiązania Debugowanie lub Wydania, wybierz menu kompilacji na pasku menu i wybierz opcję Kompilacja. Jeśli program Visual Studio nie zostanie otwarty z poziomu powłoki CMD dla zestawu SDK, program Visual Studio nie będzie miał dostępu do środowiska kompilacji zestawu SDK. W takim przypadku przykład nie zostanie skompilowany, chyba że jawnie ustawisz zmienną środowiskową MSSdk, która jest używana w pliku projektu WASAPICaptureSharedTimerDriven.vcproj.
Uruchamianie przykładu
Jeśli aplikacja demonstracyjna zostanie utworzona pomyślnie, zostanie wygenerowany plik wykonywalny WASAPICaptureSharedTimerDriven.exe. Aby go uruchomić, wpisz WASAPICaptureSharedTimerDriven
w oknie polecenia, po którym następują wymagane lub opcjonalne argumenty. W poniższym przykładzie pokazano, jak uruchomić przykład, określając czas trwania przechwytywania na domyślnym urządzeniu multimedialnym.
WASAPICaptureSharedTimerDriven.exe -d 20 -multimedia
W poniższej tabeli przedstawiono argumenty.
Argument | Opis |
---|---|
-? | Pokazuje pomoc. |
-h | Pokazuje pomoc. |
-l | Opóźnienie przechwytywania dźwięku w milisekundach. |
-d | Czas trwania przechwytywania dźwięku w sekundach. |
-m | Wyłącza korzystanie z programu MMCSS. |
-konsola | Użyj domyślnego urządzenia konsoli. |
-Komunikacji | Użyj domyślnego urządzenia komunikacyjnego. |
-multimedia | Użyj domyślnego urządzenia multimedialnego. |
-punkt końcowy | Użyj identyfikatora punktu końcowego określonego w wartości przełącznika. |
Jeśli aplikacja jest uruchamiana bez argumentów, wylicza dostępne urządzenia i monituje użytkownika o wybranie urządzenia na potrzeby sesji przechwytywania. Domyślnie wyświetlane są urządzenia konsolowe, komunikacyjne i multimedialne, a następnie urządzenia i identyfikatory punktów końcowych. Jeśli nie określono czasu trwania, strumień audio z określonego urządzenia jest przechwytywany przez 10 sekund. Aplikacja zapisuje przechwycone dane do unikatowo nazwanego pliku .wav.
CaptureSharedTimerDriven demonstruje buforowanie sterowane czasomierzem. W tym trybie klient musi czekać przez pewien czas (połowa opóźnienia określona przez wartość przełącznika -d w milisekundach). Gdy klient wznawia się, w połowie okresu przetwarzania pobiera następny zestaw próbek z aparatu. Przed przekazaniem każdego przetwarzania w pętli buforowania klient musi sprawdzić ilość dostępnych danych przechwytywania, aby dane nie przepełniły buforu przechwytywania. Dane audio przechwycone z określonego urządzenia mogą być przetwarzane przez włączenie buforowania sterowanego zdarzeniami. Ten tryb przedstawiono w przykładzie CaptureSharedEventDriven.
Tematy pokrewne
-
przykłady zestawu SDK korzystające z podstawowych interfejsów API audio