Verzögerung zwischen Looping-XNA-Songs beseitigen?


8

Ich mache ein Spiel mit XNA und versuche, Hintergrundmusik richtig zu schleifen. Da es sich bei der Datei um eine MP3-Datei mit einer Länge von ca. 30 Sekunden handelt, habe ich sie als instanziiert Song. Ich möchte, dass es perfekt geloopt wird, aber selbst wenn ich die MediaPlayer.IsRepeatingEigenschaft auf setze true, gibt es immer eine Verzögerung von ungefähr einer Sekunde, bevor der Song wieder startet. Gibt es eine Möglichkeit, diese Verzögerung so zu beseitigen, dass der Song sofort wiederholt wird, damit er flüssiger abgespielt werden kann?

Antworten:


7

Der MediaPlayer in XNA hatte beim Looping von Songs immer eine kurze Verzögerung, und ich habe keine Möglichkeit gesehen, das Problem zu beheben. Was ist Ihre Zielplattform? Sie können XACT verwenden, wenn Sie auf die Xbox oder Windows abzielen, da diese nicht dieselben Probleme wie die MediaPlayer-API haben.

Ich würde empfehlen, SoundEffect (wie von Sprunth empfohlen) nicht zum Abspielen von Hintergrundmusik zu verwenden, wenn Sie es auf XBLIG oder dem WP7-Marktplatz veröffentlichen, da dies nicht gut mit dem integrierten Media Player zusammenpasst und zu Zertifizierungs- / Peer-Review-Problemen führt . Wenn Sie beispielsweise Ihre Hintergrundmusik als SoundEffect auf der Xbox abspielen und ein Player seinen eigenen Soundtrack verwenden möchte, wird Ihre Musik weiterhin übertrieben abgespielt. Wenn Sie jedoch einen Song wie empfohlen verwendet haben, wird er "magisch" gestoppt. Ähnliche schlimme Dinge passieren am Telefon.


4
Vielen Dank für die Klarstellung, warum Songhier die richtige Wahl ist.
Stephane Beniak

+1 Für XACT. Sie sollten Ihre Musik und Soundeffekte als unkomprimierte WAV-Dateien importieren und XACT erlauben, sie zu komprimieren und in Wellenbänke zu packen.
michael.bartnett

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.