Condividi tramite


Impostazione della frequenza di riproduzione

[La funzionalità associata a questa pagina, DirectShow, è una funzionalità legacy. È stata sostituita da MediaPlayer, FMMediaEngine e Audio/Video Capture in Media Foundation. Queste funzionalità sono state ottimizzate per Windows 10 e Windows 11. Microsoft consiglia vivamente che il nuovo codice usi MediaPlayer, FMMediaEngine e Audio/Video Capture in Media Foundation anziché DirectShow, quando possibile. Microsoft suggerisce che il codice esistente che usa le API legacy venga riscritto per usare le nuove API, se possibile.

Per modificare la frequenza di riproduzione, chiamare il metodo IMediaSeeking::SetRate . Specificare la nuova frequenza come frazione della frequenza originale. Ad esempio, per giocare a velocità doppia normale, usare quanto segue:

pSeek->SetRate(2.0)

I tassi maggiori di uno sono più veloci del normale. I tassi tra zero e uno sono più lenti rispetto al normale. I tassi negativi sono definiti come riproduzione indietro, ma in pratica la maggior parte dei filtri non lo supporta. Attualmente nessuno dei filtri DirectShow standard supporta la riproduzione inversa.

Indipendentemente dalla frequenza di riproduzione, la posizione corrente e la posizione di arresto vengono sempre espresse rispetto all'origine originale. Ad esempio, se un file di origine è di 20 secondi a velocità di riproduzione normale, impostare la posizione corrente su 10 secondi cercherà al centro del file. Se la velocità di riproduzione è 2,0, la posizione di arresto è 20 secondi e si cerca la posizione di 10 secondi, il file verrà riprodotto per 5 secondi di tempo reale: 10 secondi vale la pena, al doppio della velocità di riproduzione normale. A una velocità di riproduzione pari a 2,0, la posizione corrente aumenta al doppio della frequenza dell'orologio di riferimento.