CaptureSharedTimerDriven
Diese Beispielanwendung verwendet die Core Audio-APIs, um Audiodaten von einem vom Benutzer angegebenen Eingabegerät aufzunehmen und in eine eindeutig benannte .wav Datei im aktuellen Verzeichnis zu schreiben. In diesem Beispiel wird die zeitgesteuerte Pufferung veranschaulicht.
Dieses Thema enthält die folgenden Abschnitte.
- Beschreibung
- Anforderungen
- Herunterladen des Beispiel-
- Erstellen des Beispiel-
- Ausführen des Beispiel-
- Verwandte Themen
Beschreibung
In diesem Beispiel werden die folgenden Features veranschaulicht.
- MMDevice-API für die Enumeration und Auswahl von Multimediageräten.
- WASAPI- für Datenstromverwaltungsvorgänge.
Anforderungen
Produkt | Version |
---|---|
Windows SDK- | Windows 7 |
Visual Studio | 2008 |
Herunterladen des Beispiels
Dieses Beispiel ist an den folgenden Speicherorten verfügbar.
Ort | Pfad/URL |
---|---|
Windows SDK | \Programme\Microsoft SDKs\Windows\v7.0\Samples\Multimedia\Audio\CaptureSharedTimerDriven\... |
Erstellen des Beispiels
Führen Sie die folgenden Schritte aus, um das CaptureSharedTimerDriven-Beispiel zu erstellen:
- Öffnen Sie die CMD-Shell für das Windows SDK, und wechseln Sie zum CaptureSharedTimerDriven-Beispielverzeichnis.
- Führen Sie den Befehl
start WASAPICaptureSharedTimerDriven.sln
im Verzeichnis CaptureSharedTimerDriven aus, um das WASAPICaptureSharedTimerDriven-Projekt im Visual Studio-Fenster zu öffnen. - Wählen Sie im Fenster die Debug- oder Release Lösungskonfiguration aus, wählen Sie das Menü Erstellen in der Menüleiste und dann die Option Erstellen aus. Wenn Sie Visual Studio nicht über die CMD-Shell für das SDK öffnen, hat Visual Studio keinen Zugriff auf die SDK-Buildumgebung. In diesem Fall wird das Beispiel nur erstellt, wenn Sie die Umgebungsvariable MSSdk explizit festlegen, die in der Projektdatei verwendet wird, WASAPICaptureSharedTimerDriven.vcproj.
Ausführen des Beispiels
Wenn Sie die Demoanwendung erfolgreich erstellen, wird eine ausführbare Datei WASAPICaptureSharedTimerDriven.exegeneriert. Geben Sie zum Ausführen WASAPICaptureSharedTimerDriven
in ein Befehlsfenster ein, gefolgt von erforderlichen oder optionalen Argumenten. Das folgende Beispiel zeigt, wie Das Beispiel ausgeführt wird, indem die Aufnahmedauer auf dem Standard-Multimediagerät angegeben wird.
WASAPICaptureSharedTimerDriven.exe -d 20 -multimedia
In der folgenden Tabelle sind die Argumente aufgeführt.
Argument | Beschreibung |
---|---|
-? | Zeigt Hilfe an. |
-h | Zeigt Hilfe an. |
-l | Audioaufnahmelatenz in Millisekunden. |
-d | Dauer der Audioaufnahme in Sekunden. |
-m | Deaktiviert die Verwendung von MMCSS. |
-Konsole | Verwenden Sie das Standardkonsolengerät. |
-Kommunikationen | Verwenden Sie das Standardkommunikationsgerät. |
-Multimedia | Verwenden Sie das Standardmäßige Multimediagerät. |
-Endpunkt | Verwenden Sie den im Switchwert angegebenen Endpunktbezeichner. |
Wenn die Anwendung ohne Argumente ausgeführt wird, listet sie die verfügbaren Geräte auf und fordert den Benutzer auf, ein Gerät für die Aufnahmesitzung auszuwählen. Die Standardkonsole, Kommunikation und Multimediageräte werden gefolgt von Geräten und den Endpunkt-IDs aufgeführt. Wenn keine Dauer angegeben ist, wird der Audiodatenstrom des angegebenen Geräts 10 Sekunden lang aufgenommen. Die Anwendung schreibt die erfassten Daten in eine eindeutig benannte .wav Datei.
CaptureSharedTimerDriven veranschaulicht zeitgesteuerte Pufferung. In diesem Modus muss der Client für einen bestimmten Zeitraum warten (die Hälfte der Latenz, die durch den -d Switchwert angegeben wird, in Millisekunden). Wenn der Client aufwacht, wird der nächste Satz von Beispielen aus dem Modul in der Mitte des Verarbeitungszeitraums abgerufen. Vor jedem Verarbeitungsdurchlauf in der Pufferschleife muss der Client ermitteln, wie viele Erfassungsdaten verfügbar sind, damit die Daten den Aufnahmepuffer nicht überschreiben. Die vom angegebenen Gerät erfassten Audiodaten können durch aktivieren der ereignisgesteuerten Pufferung verarbeitet werden. Dieser Modus wird im beispiel CaptureSharedEventDriven veranschaulicht.
Verwandte Themen