Loopen eines Sounds aus der Mitte
Tools, die Sie benötigen
Um eine Schleife aus der Mitte des Sounds abzuspielen, verwenden wir dieses Mal die folgenden beiden Tools:
- Wavosaur
- Xact
Wavosaur herunterladen und installieren
Wavosaur ist ein Werkzeug zum Bearbeiten von Wellenformdaten in Audiodateien. Sie können Wavosaur herunterladen von:
Wenn Sie die Seite öffnen, laden Sie die Datei über den roten Rahmenlink im Bild herunter. Es gibt 32-Bit- und 64-Bit-Versionen, also verwenden Sie die Version, die sich in Ihrer Laufumgebung befand.
Wavosaur kann von EXE allein ausgeführt werden, so dass es nicht notwendig ist, es zu installieren. Erweitern Sie auf einen beliebigen Ordner.
XACT herunterladen und installieren
XACT ist ein Tool, mit dem Sie Spielsounds unter Windows und Xbox optimieren und spielen können.
XACT wird nicht allein vertrieben und kommt mit XNA Game Studio und dem DirectX SDK. Dieses Mal verwenden wir das, was mit XNA Game Studio kam. Sie können XNA Game Studio von den folgenden Links herunterladen:
Führen Sie nach dem Herunterladen das Installationsprogramm aus, um es zu installieren. XNA Game Studio wird nur offiziell bis zu Windows 7 unterstützt, aber wir haben bestätigt, dass es auch in Windows 10-Umgebungen installiert wird.
Erstellen einer WAVE-Datei mit Schleifenpunkten in Wavosaur
Bereiten Sie die Sounddatei vor, die Sie im Voraus durchlaufen möchten. Die grundlegende Bearbeitung befindet sich in einer WAVE-Datei, aber die zugrunde liegenden Audiodaten können auch aus MP3-Dateien usw. importiert werden. (Die in diesem Beispiel verwendete Audiodatei ist"H/MIX GALLERY"von der Website der Datei "Pokkuru No land (k15.mp3)")
Führen Sie Wavosaur aus, um es zu starten.
Der Bildschirm wird angezeigt.
Ziehen Sie die bereitgestellte Audiodatei auf Wavosaur. Die Wellenformdaten werden angezeigt.
Sie können einen Bereich auswählen, indem Sie die Wellenformdaten mit der Maus ziehen. Wählen Sie den Bereich aus, den Sie schleifen möchten.
Wählen Sie im Menü Extras >Loop>Loop-Punkte erstellen aus. Dasselbe gilt, wenn Sie die "L"-Taste in der Symbolleiste drücken.
"Loop start" und "loop end" werden auf beiden Seiten der Auswahl angezeigt. Dies ist der Bereich, der in die Schleife geschleift werden soll.
Wählen Sie Datei > Speichern aus dem Menü, um die Audiodaten zu speichern.
Die Datei ist im Grunde eine Wave-Datei. Speichern Sie es in einem Ordner von Ihnen. Wenn Sie es erneut bearbeiten möchten, können Sie es von der Mitte aus bearbeiten, indem Sie diese WAVE-Datei in Wavosaur ablegen.
Die Datei wird gespeichert. XACT verwendet diese WAVE-Datei. Wenn Sie basierend auf einer MP3-Datei bearbeitet haben, möchten Sie die MP3-Datei nicht mehr verwenden.
Erstellen Sie die Dateien, die Sie benötigen, um monoGame-Sound in XACT abzuspielen
Wählen Sie im Startmenü Microsoft XNA Game Studio 4.0 Refresh > Microsoft Cross-Platform Audio Creation Tool 3 (XACT3) aus. Wenn Sie vom DirectX SDK usw. installiert haben, starten Sie bitte von dort aus.
Es wird der Bildschirm sofort nach dem Start. Dieses Mal macht XACT nur die einfachste Arbeit, also wenn Sie wissen möchten, wie sie verwendet werden, schauen Sie es sich bitte im Web an. XACT erfordert keine besondere Aktion, auch wenn Sie eine WAVE-Datei mit Loop-Wiedergabeeinstellungen in der Mitte verwenden.
Der erste Schritt besteht darin, ein Projekt zu erstellen. Klicken Sie auf der Symbolleiste auf die Schaltfläche zum Erstellen eines neuen Projekts.
Gibt den Speicherort an, an dem das Projekt gespeichert wird.
Nachdem Sie das Projekt erstellt haben, klicken Sie mit der rechten Maustaste auf Wave Backs, und wählen Sie New Wave Bank aus.
Wenn Sie sicher sind, dass eine Wave Bank erstellt wurde, klicken Sie mit der rechten Maustaste auf Sound Banks, und wählen Sie New Sound Bank aus.
Der Bildschirm sieht aus wie ein Diagramm.
Ziehen Sie die gerade erstellte Wave-Datei in das Wave Bank-Fenster.
Ziehen Sie dann die der Wave Bank hinzugefügten Daten in den oberen linken Bereich der Sound Bank.
Ziehen Sie dann die Daten, die dem Sound-Bereich hinzugefügt wurden, in den Cue-Bereich unten links.
Wählen Sie die Sounddatei aus, und stellen Sie sicher, dass Looping in der eigenschaft unten links auf Unendlich überprüft ist.
Wenn Sie fertig sind, klicken Sie auf die Schaltfläche Erstellen in der Symbolleiste, um sie zu erstellen.
Das Fenster wird angezeigt, aber drücken Sie einfach die "Finish"-Taste, um es abzuschließen.
Stellen Sie sicher, dass der Ordner Win in dem Ordner erstellt wurde, in dem Sie das Projekt gespeichert haben, und dass drei Dateien darin erstellt werden.
Erstellen eines Spielprojekts
Es bleibt nur noch, die Datei zu registrieren und ein Programm im MonoGame-Projekt zu erstellen. Dieses Mal erstelle ich es in Windows Project. Wir haben bestätigt, dass es mit Windows Store-Apps und Windows Mobile funktioniert.
Nachdem Sie das Projekt erstellt haben, registrieren Sie die drei Dateien, die Sie gerade in XACT erstellt haben, im Ordner Inhalt. Es muss sich nicht um einen speziellen Inhaltsordner handeln.
Öffnen Sie die Eigenschaften mit den drei dateien, die Sie hinzugefügt haben, ausgewählt.
Wechseln Sie von Copy in Output Directory zu Copy If New.
Windows Universal App Project (UAP) ist mit den oben genannten Einstellungen nicht verfügbar. Ändern Sie stattdessen die Buildaktion in "Inhalt".
Der Rest ist nur das Programm. Es ist im Wesentlichen das gleiche Programm wie Dieklang mit XACT.
Fügen Sie Microsoft.Xna.Framework.Audio dem Namespace hinzu, den Sie verwenden möchten.
using Microsoft.Xna.Framework;
using Microsoft.Xna.Framework.Audio;
using Microsoft.Xna.Framework.Graphics;
using Microsoft.Xna.Framework.Input;
Fügen Sie dem Feld die folgenden drei Zeilen hinzu: AudioEngine, SoundBank und WaveBank.
GraphicsDeviceManager graphics;
SpriteBatch spriteBatch;
AudioEngine audioEngine;
SoundBank soundBank;
WaveBank waveBank;
Sie erstellen Instanzen von AudioEngine, SoundBank und WaveBank in der LoadContent-Methode. Jede von ihnen entspricht den drei Dateien, die dem Ordner Inhalt hinzugefügt wurden.
Hier spielen wir Cue sofort, aber in einem echten Spiel wirst du spielen, wo du es willst.
protected override void LoadContent()
{
// Create a new SpriteBatch, which can be used to draw textures.
spriteBatch = new SpriteBatch(GraphicsDevice);
// TODO: use this.Content to load your game content here
audioEngine = new AudioEngine(@"Content/LoopSample.xgs");
soundBank = new SoundBank(audioEngine, "Content/Sound Bank.xsb");
waveBank = new WaveBank(audioEngine, "Content/Wave Bank.xwb");
soundBank.GetCue("k15").Play();
}
Führen Sie in diesem Zustand aus, und stellen Sie sicher, dass es in der Mitte in der Schleife läuft. Die eigentliche Schleifensteuerung wird in der WAVE-Datei oder XACT-Phase abgeschlossen, sodass Sie keine spezielle Konfiguration in Ihrem Programm vornehmen müssen.
Informationen zum Komprimieren von Audiodateien
XACT bietet die Möglichkeit, Audiodateien zu komprimieren, um die Dateigröße zu reduzieren. XNA Game Studio konnte komprimierte Dateien wiedergeben, aber MonoGame unterstützt sie nicht, sodass es beim Abspielen Ausnahmen oder unbeabsichtigtes Audio geben kann. Nur unkomprimierte Wellendateien können real verwendet werden. Wie Sie sehen können, ist die Dateigröße ziemlich groß.
Wenn Sie die Dateigröße wirklich reduzieren möchten, müssen Sie die Abtastrate der WAVE-Datei anpassen usw.
So sind iPhone, Android, Linux und OUYA verfügbar
XACT ist ein Windows- und Xbox-Tool, daher ist es nicht sicher, ob es auf anderen Plattformen funktioniert. Probieren Sie es bei Bedarf aus und entscheiden Sie, ob Sie es mieten möchten.