Modifica del passo e della frequenza di riproduzione

[La funzionalità associata a questa pagina, Waveform Audio, è una funzionalità legacy. È stata sostituita da WASAPI e Audio Graphs. I grafici WASAPI e Audio sono stati ottimizzati per Windows 10 e Windows 11. Microsoft consiglia vivamente che il nuovo codice usi WASAPI e Audio Graphs anziché Waveform Audio, quando possibile. Microsoft suggerisce che il codice esistente che usa le API legacy venga riscritto per usare le nuove API, se possibile.

Alcuni dispositivi di output waveform-audio possono variare il passo e la frequenza di riproduzione dei dati waveform-audio. Non tutti i dispositivi waveform-audio supportano modifiche di passo e frequenza di riproduzione. Per informazioni su come determinare se un particolare dispositivo waveform-audio supporta le modifiche della frequenza di passo e riproduzione, vedere Dispositivi e tipi di dati.

Le differenze tra la frequenza di modifica del passo e la frequenza di riproduzione sono le seguenti:

  • La modifica della frequenza di riproduzione viene eseguita dal driver del dispositivo e non richiede hardware specializzato. La frequenza di esempio non viene modificata, ma il driver interpola ignorando o sintetizzando esempi. Ad esempio, se la frequenza di riproduzione viene modificata da un fattore di due, il driver ignora ogni altro esempio.
  • La modifica del campo richiede hardware specializzato. La frequenza di riproduzione e la frequenza di campionamento non vengono modificate.

Windows fornisce le funzioni seguenti per eseguire query e impostare la frequenza di riproduzione e la frequenza di riproduzione waveform-audio.

Funzione Descrizione
waveOutGetPitch Recupera il passo per il dispositivo di output waveform-audio specificato.
waveOutGetPlaybackRate Recupera la frequenza di riproduzione per il dispositivo di output waveform-audio specificato.
waveOutSetPitch Imposta il passo per il dispositivo di output waveform-audio specificato.
waveOutSetPlaybackRate Imposta la frequenza di riproduzione per il dispositivo di output waveform-audio specificato.

 

I tassi di passo e riproduzione vengono modificati da un fattore specificato con un numero a virgola fissa compresso in un valore doubleword. I 16 bit superiori specificano la parte intero del numero; i 16 bit inferiori specificano la parte frazionaria. Ad esempio, il valore 1.5 viene rappresentato come 0x00018000L. Il valore 0,75 è rappresentato come 0x0000C000L. Un valore pari a 1,0 (0x00010000) indica che la velocità di limitazione o riproduzione è invariata.