Éliminer le délai entre les chansons XNA en boucle?


8

Je fais un jeu avec XNA et j'essaye d'obtenir une musique de fond pour boucler correctement. Parce que le fichier est un MP3 d'environ 30 secondes, je l'ai instancié comme Song. Je veux qu'il boucle parfaitement, mais même lorsque je définis la MediaPlayer.IsRepeatingpropriété true, il y a toujours un délai d'environ une seconde avant que le morceau ne redémarre. Existe-t-il un moyen d'éliminer ce retard de telle sorte que le morceau boucle instantanément, afin qu'il puisse jouer plus couramment?

Réponses:


7

Le MediaPlayer dans XNA a toujours eu un court délai lors de la boucle de chansons et je n'ai vu aucun moyen de résoudre le problème. Quelle est votre plateforme cible? Vous pouvez envisager d'utiliser XACT si vous ciblez la Xbox ou Windows car il n'a pas les mêmes problèmes que l'API MediaPlayer.

Je déconseille d'utiliser SoundEffect (comme recommandé par Sprunth) pour lire de la musique de fond si vous prévoyez de sortir sur XBLIG ou sur le marché WP7, car cela ne correspond pas bien au lecteur multimédia intégré et entraîne des problèmes de certification / révision par les pairs . Par exemple, si vous jouez votre musique de fond en tant que SoundEffect sur la Xbox et qu'un joueur souhaite utiliser sa propre bande sonore personnalisée, votre musique continuera de jouer par dessus, tandis que si vous aviez utilisé un morceau comme recommandé, il s'arrêterait "comme par magie". De mauvaises choses similaires se produisent au téléphone.


4
Merci d'avoir clarifié pourquoi Songest le bon choix ici.
Stephane Beniak

+1 pour XACT. Vous devez importer votre musique et vos effets sonores sous forme de fichiers WAV non compressés et permettre à XACT de les compresser et de les compresser dans des banques de vagues.
michael.bartnett

En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.