Eliminare il ritardo tra i brani in loop degli XNA?


8

Sto realizzando un gioco con XNA e sto cercando di riprodurre un po 'di musica di sottofondo in modo corretto. Poiché il file è un MP3 della durata di circa 30 secondi, l'ho istanziato come un Song. Voglio che esegua il loop perfettamente, ma anche quando imposto la MediaPlayer.IsRepeatingproprietà su true, c'è sempre un ritardo di circa un secondo prima che la canzone si riavvii. Esiste un modo per eliminare questo ritardo in modo tale che la canzone si avvii all'istante, in modo che possa suonare in modo più fluido?

Risposte:


7

MediaPlayer in XNA ha sempre avuto un breve ritardo durante il looping delle canzoni e non ho visto alcun modo per risolvere il problema. Qual è la tua piattaforma target? Puoi prendere in considerazione l'utilizzo di XACT se stai prendendo di mira Xbox o Windows in quanto non presenta gli stessi problemi dell'API MediaPlayer.

Sconsiglierei di usare SoundEffect (come raccomandato da Sprunth) per riprodurre musica di sottofondo se hai intenzione di rilasciare su XBLIG o sul marketplace WP7 in quanto non si adatta bene con il lettore multimediale integrato e porta a problemi di certificazione / peer review . Ad esempio, se riproduci la tua musica di sottofondo come SoundEffect su Xbox e un giocatore desidera utilizzare la propria colonna sonora personalizzata, la tua musica continuerà comunque a essere riprodotta, mentre se avessi usato una canzone come raccomandato si fermerebbe "magicamente". Cose brutte simili accadono al telefono.


4
Grazie per aver chiarito perché Songè la scelta giusta qui.
Stephane Beniak,

+1 per XACT. Dovresti importare la tua musica ed effetti sonori come file WAV non compressi e consentire a XACT di comprimerli e impacchettarli in wavebank.
michael.bartnett,

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.