Festlegen der Wiedergaberate

[Das dieser Seite zugeordnete Feature DirectShow ist ein Legacyfeature. Es wurde von MediaPlayer, IMFMediaEngine und Audio/Video Capture in Media Foundation abgelöst. Diese Features wurden für Windows 10 und Windows 11 optimiert. Microsoft empfiehlt dringend, dass neuer Code mediaPlayer, IMFMediaEngine und Audio/Video Capture in Media Foundation anstelle von DirectShow verwendet, wenn möglich. Microsoft schlägt vor, dass vorhandener Code, der die Legacy-APIs verwendet, so umgeschrieben wird, dass nach Möglichkeit die neuen APIs verwendet werden.]

Um die Wiedergaberate zu ändern, rufen Sie die IMediaSeeking::SetRate-Methode auf. Geben Sie die neue Rate als Bruchteil der ursprünglichen Rate an. Wenn Sie beispielsweise mit doppelt normaler Geschwindigkeit spielen möchten, verwenden Sie Folgendes:

pSeek->SetRate(2.0)

Raten größer als eins sind schneller als normal. Raten zwischen null und 1 sind langsamer als normal. Negative Raten werden als Rückwärtswiedergabe definiert, aber in der Praxis unterstützen die meisten Filter dies nicht. Derzeit unterstützt keiner der DirectShow-Standardfilter die umgekehrte Wiedergabe.

Unabhängig von der Wiedergaberate werden die aktuelle Position und die Stoppposition immer relativ zur ursprünglichen Quelle ausgedrückt. Wenn z. B. eine Quelldatei bei normaler Wiedergaberate 20 Sekunden lang ist, wird die aktuelle Position auf 10 Sekunden auf die Mitte der Datei festgelegt. Wenn die Wiedergaberate 2,0 beträgt, die Stoppposition 20 Sekunden beträgt, und Sie die 10-Sekunden-Position suchen, wird die Datei 5 Sekunden lang in Echtzeit wiedergegeben: 10 Sekunden wert, bei doppelter Wiedergabegeschwindigkeit. Bei einer Wiedergaberate von 2,0 erhöht sich die aktuelle Position mit der doppelten Rate der Referenzuhr.