Ripeti un suono dal centro
Strumenti necessari
Per riprodurre un loop dal centro del suono, questa volta useremo i seguenti due strumenti:
- Wavosaur
- Xact
Scarica e installa Wavosaur
Wavosaur è uno strumento per la modifica dei dati delle forme d'onda nei file audio. È possibile scaricare Wavosaur da:
Quando si apre la pagina, scaricare il file dal collegamento del bordo rosso nell'immagine. Esistono versioni a 32 bit e a 64 bit, pertanto usare quella presente nell'ambiente di esecuzione.
Wavosaur può essere eseguito da EXE da solo, quindi non è necessario installarlo. Espandere in qualsiasi cartella.
Scaricare e installare XACT
XACT è uno strumento che ti permette di perfezionare e riprodurre i suoni dei giochi su Windows e Xbox.
XACT non è distribuito da solo e viene fornito con XNA Game Studio e DirectX SDK. Questa volta useremo quello fornito con XNA Game Studio. È possibile scaricare XNA Game Studio dai seguenti link:
Una volta scaricato, eseguire il programma di installazione per installarlo. XNA Game Studio è supportato solo ufficialmente fino a Windows 7, ma abbiamo confermato che verrà installato anche in ambienti Windows 10.
Creare un file WAVE con punti di loop in Wavosaur
Preparare in anticipo il file audio che si desidera scorrere in anticipo. L'editing di base è in un file WAVE, ma i dati audio sottostanti possono anche essere importati da file MP3, ecc. (Il file audio utilizzato in questo esempio è"H/MIX GALLERY"dal sito del file "Pokkuru No land (k15.mp3)")
Eseguire Wavosaur per avviarlo.
Viene visualizzata la schermata.
Trascinare e rilasciare il file audio fornito su Wavosaur. Vengono visualizzati i dati della forma d'onda.
È possibile selezionare un intervallo trascinando i dati della forma d'onda con il mouse. Selezionare l'intervallo che si desidera riprodurre in loop.
Dal menu, seleziona Strumenti >Ciclo>Crea punti di loop. Lo stesso vale quando si preme il pulsante "L" nella barra degli strumenti.
"loop start" e "loop end" vengono visualizzati su entrambi i lati della selezione. Questo è l'intervallo da riprodurre in loop.
Scegliete File > Salva dal menu per salvare i dati audio.
Il file è fondamentalmente un file wave. Salvalo in una tua cartella. Se vuoi modificarlo di nuovo, puoi modificarlo dal centro rilasciando questo file WAVE in Wavosaur.
Il file viene salvato. XACT utilizza questo file WAVE. Se è stato modificato in base a un file MP3, non si desidera più utilizzare il file MP3.
Creare i file necessari per riprodurre il suono monoGame in XACT
Dal menu Start, selezionare Microsoft XNA Game Studio 4.0 Refresh > Microsoft Cross-Platform Audio Creation Tool 3 (XACT3). Se hai installato da DirectX SDK, ecc., si prega di iniziare da lì.
Diventa lo schermo immediatamente dopo l'avvio. Questa volta XACT fa solo il lavoro più semplice, quindi se vuoi sapere come usarlo, si prega di controllare sul Web. XACT non richiede alcuna azione speciale, anche se si utilizza un file WAVE con le impostazioni di riproduzione loop al centro.
Il primo passaggio consiste nel creare un progetto. Fare clic sul pulsante per Crea un nuovo progetto sulla barra degli strumenti.
Specifica il percorso in cui viene salvato il progetto.
Dopo aver creato il progetto, fare clic con il pulsante destro del mouse su Ondate back s (In forma di New Wave Bank) e selezionare New Wave Bank (New Wave Bank).
Quando sei sicuro che la banca d'onda sia stata creata, fai clic con il pulsante destro del mouse su Sound Banks e seleziona New Sound Bank.
Lo schermo ha l'aspetto di un diagramma.
Trascina e rilascia il file wave appena creato nella finestra Wave Bank.
Quindi trascinare e rilasciare i dati aggiunti alla Banca Wave nell'area in alto a sinistra della banca del suono.
Quindi trascinate i dati aggiunti all'area Audio nell'area Pila in basso a sinistra.
Selezionare il file audio e verificare che l'opzione Loop nella proprietà in basso a sinistra sia selezionata per Infinito.
Al termine, fare clic sul pulsante Compila nella barra degli strumenti per crearlo.
Viene visualizzata la finestra, ma è sufficiente premere il pulsante "Fine" per completarla.
Verificare che la cartella Win sia stata creata nella cartella in cui è stato salvato il progetto e che vengano creati tre file.
Creare un progetto di gioco
Tutto ciò che rimane è quello di registrare il file e creare un programma nel progetto MonoGame. Questa volta lo sto creando in Windows Project. Abbiamo confermato che funziona con le app di Windows Store e Windows Mobile.
Dopo aver creato il progetto, registrare i tre file appena creati in XACT nella cartella Contenuto. Non deve essere una cartella Contenuto speciale.
Aprire le proprietà con i tre file aggiunti selezionati.
Passare da Copia a Directory di output per copiare se nuovo.
Windows Universal App Project (UAP) non è disponibile con le impostazioni precedenti. Modificare invece l'azione di compilazione in "Contenuto".
Il resto è solo il programma. È essenzialmente lo stesso programma della riproduzione del suono utilizzando XACT.
Aggiungere Microsoft.Xna.Framework.Audio allo spazio dei nomi che si desidera utilizzare.
using Microsoft.Xna.Framework;
using Microsoft.Xna.Framework.Audio;
using Microsoft.Xna.Framework.Graphics;
using Microsoft.Xna.Framework.Input;
Aggiungere le tre righe seguenti al campo: AudioEngine, SoundBank e WaveBank.
GraphicsDeviceManager graphics;
SpriteBatch spriteBatch;
AudioEngine audioEngine;
SoundBank soundBank;
WaveBank waveBank;
Le istanze di AudioEngine, SoundBank e WaveBank vengono create nel metodo LoadContent. Ognuno di essi corrisponde ai tre file aggiunti alla cartella Contenuto, quindi si prega di specificarlo in relazione alla cartella radice del progetto.
Qui stiamo giocando Cue subito, ma in un gioco reale giocherai dove lo vuoi.
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();
}
Eseguire in questo stato e assicurarsi che sia in corso di ciclo nel mezzo. Il controllo del ciclo effettivo viene completato nel file WAVE o nella fase XACT, quindi non è necessario effettuare alcuna configurazione speciale nel programma.
Informazioni sulla compressione di file audio
XACT offre la possibilità di comprimere i file audio per ridurre le dimensioni del file. XNA Game Studio è stato in grado di riprodurre i file compressi, ma MonoGame non li supporta, quindi potrebbero esserci eccezioni o audio indesiderato durante la riproduzione. Solo i file wave non compressi possono essere utilizzati in termini reali. Come si può vedere, la dimensione del file è abbastanza grande.
Se si desidera veramente ridurre le dimensioni del file, è necessario regolare la frequenza di campionamento del file WAVE e così via.
Come sono disponibili iPhone, Android, Linux e OUYA
XACT è uno strumento windows e Xbox, quindi non è sicuro che funzionerà su altre piattaforme. Se necessario, provalo e decidi se vuoi assumerlo.