Freigeben über


DuckingMediaPlayer

In dieser Beispielanwendung wird die Streamdämpfung veranschaulicht, indem ein Media Player implementiert wird, der das vom System bereitgestellte Standardabschwächungsverhalten anzeigt, Entenereignisse deaktiviert und eine benutzerdefinierte Behandlung implementiert, wenn Duckingereignisse empfangen werden. Dieses Beispiel muss in der Conjuction mit DuckingCaptureSample verwendet werden. Weitere Informationen zum Enten oder zur Streamdämpfung finden Sie unter Standard-Ducking-Erfahrung.

Dieses Thema enthält folgende Abschnitte:

BESCHREIBUNG

In diesem Beispiel werden die folgenden Features veranschaulicht.

  • DirectShow, um eine Mediendatei wiederzugeben.
  • WASAPI für die Streamverwaltung und die Behandlung von Duckingereignissen.

Anforderungen

Produkt Version
Windows SDK Windows 7
Visual Studio 2008

 

Herunterladen des Beispiels

Dieses Beispiel ist an den folgenden Speicherorten verfügbar.

Standort Pfad/URL
Windows SDK \Programme\Microsoft SDKs\Windows\v7.0\Samples\Multimedia\Audio\DuckingMediaPlayer\...

 

Erstellen des Beispiels

Führen Sie die folgenden Schritte aus, um das DuckingMediaPlayer-Beispiel zu erstellen:

  1. Öffnen Sie duckingMediaPlayer.sln in Visual Studio 2008.
  2. Wählen Sie im Fenster die Projektmappenkonfiguration Debuggen oder Freigeben aus, wählen Sie in der Menüleiste das Menü Erstellen 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 DuckingMediaPlayer.vcproj verwendet wird.

Ausführen des Beispiels

Wenn Sie die Anwendung erfolgreich erstellen, wird eine ausführbare Datei DuckingMediaPlayer.exe generiert. Wählen Sie zum Ausführen im Menü Debuggen die Option Debuggen starten oder Ohne Debuggen starten aus, oder geben Sie DuckingMediaPlayer in ein Befehlsfenster ein.

Um eine Demonstration des Duckings anzuzeigen, müssen Sie DuckingMediaPlayer und DuckingCaptureSample gleichzeitig ausführen. DuckingCaptureSample öffnet einen Kommunikationsstream und signalisiert dem System, ein Entenereignis zu generieren. Der DuckingMediaPlayer wird vom System benachrichtigt, wenn ein Entenereignis auftritt, und der Media Player führt die vom Benutzer angeforderte Aktion aus.

So deaktivieren Sie das Entenverhalten:

  1. Wählen Sie im Fenster DuckingCaptureSample die Option Standardeingabegerät verwenden aus, und klicken Sie auf Start , um eine Aufzeichnungssitzung vom Kommunikationsgerät aus zu starten.
  2. Wählen Sie auf dem DuckingMediaPlayer eine Mediendatei aus, die wiedergegeben werden soll, und geben Sie die Ducking-Option als Opt out of Ducking an.

Beachten Sie, dass die Mediendatei ohne Unterbrechung wiedergegeben wird. Die vom System beim Öffnen des Kommunikationsdatenstroms generierten Ereignisse werden ignoriert.

Gehen Sie wie folgt vor, um das standardmäßige Entenverhalten des Systems zu veranschaulichen:

  1. Wählen Sie in der Systemsteuerung die Option Sounds aus. Wählen Sie auf der Registerkarte Kommunikationdie Option Lautstärke anderer Sounds um 80 % reduzieren aus.
  2. Wählen Sie im Fenster DuckingCaptureSample die Option Standardeingabegerät verwenden aus, und klicken Sie auf Start , um eine Aufzeichnungssitzung vom Kommunikationsgerät aus zu starten.
  3. Wählen Sie auf dem DuckingMediaPlayer eine Mediendatei aus, die wiedergegeben werden soll, ohne eine der Entenoptionen auszuwählen.
  4. Klicken Sie im Fenster DuckingCaptureSample auf Beenden , um den Kommunikationsdatenstrom zu beenden.

Beachten Sie, dass beim Öffnen des Kommunikationsdatenstroms durch DuckingCaptureSample die von DuckingMediaPlayer wiedergegebene Mediendatei ohne Unterbrechung wiedergegeben wird, die Lautstärke jedoch verringert wird. Wenn die Kommunikationssitzung beendet wird, wird das Volume auf die ursprüngliche Einstellung zurückgesetzt. Dieses Streamdämpfungsverhalten ist das standardmäßige Duckingverhalten, das vom System implementiert wird.

So zeigen Sie ein angepasstes Duckingverhalten an, das vom Media Player implementiert wird:

  1. Wählen Sie im Fenster DuckingCaptureSample die Option Standardeingabegerät verwenden aus, und klicken Sie auf Start , um eine Aufzeichnungssitzung vom Kommunikationsgerät aus zu starten.
  2. Wählen Sie auf dem DuckingMediaPlayer eine Mediendatei aus, die wiedergegeben werden soll, und geben Sie die Ducking-Option als Pause on Duck an.
  3. Klicken Sie im Fenster DuckingCaptureSample auf Beenden , um den Kommunikationsdatenstrom zu beenden.

Beachten Sie, dass die von DuckingMediaPlayer wiedergegebene Mediendatei angehalten wird, wenn DuckingCaptureSample den Kommunikationsdatenstrom öffnet. Die Wiedergabe wird fortgesetzt, wenn die Kommunikationssitzung beendet wird. Dieses Streamdämpfungsverhalten ist das ducking-Verhalten, das vom Media Player implementiert wird.

DuckingMediaPlayer zeigt auch, wie die Lautstärkeregelung für jede Anwendung in den Lautstärkemixer integriert wird.

Weitere Informationen zur Streamdämpfungsfunktion finden Sie unter Standard-Ducking-Erfahrung.

SDK-Beispiele, die die Kernaudio-APIs verwenden