Festlegen von Audioaufnahmeeigenschaften
[Das dieser Seite zugeordnete Feature DirectShow ist ein Legacyfeature. Es wurde durch MediaPlayer, IMFMediaEngine und Audio/Video Capture in Media Foundation ersetzt. Diese Features wurden für Windows 10 und Windows 11 optimiert. Microsoft empfiehlt dringend, dass neuer Code nach Möglichkeit MediaPlayer, IMFMediaEngine und Audio/Video Capture in Media Foundation anstelle von DirectShow verwendet. Microsoft schlägt vor, vorhandenen Code, der die Legacy-APIs verwendet, um nach Möglichkeit die neuen APIs zu verwenden.]
Jeder Eingabenadel des Audioaufnahmefilters macht die IAMAudioInputMixer-Schnittstelle verfügbar. Verwenden Sie diese Schnittstelle, um eine bestimmte Eingabe zu aktivieren oder zu deaktivieren, indem Sie die IAMAudioInputMixer::p ut_Enable-Methode an der Anheftung aufrufen. Verwenden Sie diese Schnittstelle auch, um Eigenschaften einer Eingabe festzulegen, z. B. die Bass-, Höhen- und Lautstärkepegel. Wenn Sie mehrere Eingaben gleichzeitig erfassen, können Sie die Gesamtpegel für Bass, Höhen und Lautstärke über die IAMAudioInputMixer-Schnittstelle im Filter selbst steuern.
Die verfügbaren Samplingraten und Audioformate für die Aufnahme werden vom Treiber bestimmt. Verwenden Sie die IAMStreamConfig-Schnittstelle am Ausgabepin des Audio capture Filters, um die verfügbaren Samplingraten und -formate aufzulisten und das gewünschte Format festzulegen. Der Filter kann nachgeschaltete Verbindungen mit jedem Filter herstellen, der den Medientyp des Ausgabepins akzeptiert.
Der Audioaufnahmefilter macht auch die IAMBufferNegotiation-Schnittstelle verfügbar. Diese Schnittstelle ist nützlich, um die Latenz in der Audiovorschau zu steuern. Standardmäßig verwendet der Audioaufnahmefilter eine Puffergröße von einer halben Sekunde. Diese Puffergröße ist für die Erfassung optimal, verursacht jedoch eine Vorschauverzögerung von einer halben Sekunde. Um die Latenz zu verringern, rufen Sie die IAMBufferNegotiation::SuggestAllocatorProperties-Methode auf, bevor Sie den Ausgabepin des Audio Capture Filters verbinden. Diese Methode verwendet einen Zeiger auf die ALLOCATOR_PROPERTIES-Struktur . Verwenden Sie das cbBuffer-Element , um die Puffergröße in Bytes anzugeben. Ein Puffer von 80 Millisekunden ist im Allgemeinen sicher, aber Puffer von 30 oder 40 Millisekunden können ausreichend sein. Wenn die Puffer zu klein sind, wird die Klangqualität beeinträchtigt.