Reproducir un sonido desde el medio
Herramientas que necesita
Para reproducir un bucle desde el centro del sonido, esta vez utilizaremos las dos herramientas siguientes:
- Wavosaur
- Xact
Descargar e instalar Wavosaur
Wavosaur es una herramienta para editar datos de forma de onda en archivos de audio. Puede descargar Wavosaur desde:
Cuando abra la página, descargue el archivo desde el enlace de borde rojo de la imagen. Hay versiones de 32 y 64 bits, así que use la que estaba en el entorno en ejecución.
Wavosaur puede ser ejecutado por EXE solo, por lo que no hay necesidad de instalarlo. Expanda a cualquier carpeta.
Descargar e instalar XACT
XACT es una herramienta que te permite afinar y reproducir sonidos de juego en Windows y Xbox.
XACT no se distribuye por sí solo y viene con XNA Game Studio y el SDK de DirectX. Esta vez usaremos el que vino con XNA Game Studio. Puede descargar XNA Game Studio desde los siguientes enlaces:
Una vez descargado, ejecute el instalador para instalarlo. XNA Game Studio solo es compatible oficialmente con Windows 7, pero hemos confirmado que también se instalará en entornos Windows 10.
Crear un archivo WAVE con puntos de bucle en Wavosaur
Prepare el archivo de sonido que desea recorrer en bucle con antelación. La edición básica está en un archivo WAVE, pero los datos de audio subyacentes también se pueden importar desde archivos MP3, etc. (El archivo de audio utilizado en este ejemplo es"H/MIX GALLERY"del sitio del archivo "Pokkuru No land (k15.mp3)")
Corre Wavosaurio para iniciarlo.
Aparecerá la pantalla.
Arrastre y suelte el archivo de audio proporcionado en Wavosaur. Se muestran los datos de forma de onda.
Puede seleccionar un rango arrastrando los datos de forma de onda con el ratón. Seleccione el rango que desea colocar en bucle.
En el menú, seleccione Herramientas >Loop>Crear puntos de bucle. Lo mismo es cierto cuando se pulsa el botón "L" en la barra de herramientas.
"inicio de bucle" y "fin de bucle" se muestran en ambos lados de la selección. Este es el rango que se va a poner en bucle.
Elija Archivo > Guardar en el menú para guardar los datos de audio.
El archivo es básicamente un archivo de onda. Guárdalo en una carpeta tuya. Si quieres editarlo de nuevo, puedes editarlo desde el centro colocando este archivo WAVE en Wavosaur.
El archivo se guarda. XACT utiliza este archivo WAVE. Si ha editado en función de un archivo MP3, ya no desea utilizar el archivo MP3.
Crea los archivos que necesitas para reproducir el sonido monoGame en XACT
En el menú Inicio, seleccione Actualización de Microsoft XNA Game Studio 4.0 > Microsoft Cross-Platform Audio Creation Tool 3 (XACT3). Si ha instalado desde el SDK de DirectX, etc., comience desde allí.
Se convierte en la pantalla inmediatamente después de comenzar. Esta vez XACT hace sólo el trabajo más fácil, por lo que si quieres saber cómo usarlo, por favor compruébalo en la Web. XACT no requiere ninguna acción especial, incluso si utiliza un archivo WAVE con ajustes de reproducción de bucle en el medio.
El primer paso es crear un proyecto. Haga clic en el botón para crear un nuevo proyecto en la barra de herramientas.
Especifica la ubicación donde se guarda el proyecto.
Después de crear el proyecto, haga clic con el botón derecho en Retroceder onda y seleccione Nuevo banco de ondas.
Cuando esté seguro de que se ha creado un banco de ondas, haga clic con el botón derecho en Bancos de sonido y seleccione Nuevo banco de sonido.
La pantalla parece un diagrama.
Arrastre y suelte el archivo de onda que acaba de crear en la ventana de Wave Bank.
A continuación, arrastre y suelte los datos agregados al Banco de ondas en el área superior izquierda del banco de sonido.
A continuación, arrastre y suelte los datos agregados al área Sonido en el área Cue en la parte inferior izquierda.
Seleccione el archivo de sonido y compruebe que bucle en la propiedad inferior izquierda está marcado para Infinito.
Cuando haya terminado, haga clic en el botón Generar de la barra de herramientas para compilarlo.
Aparece la ventana, pero simplemente presione el botón "Finalizar" para completarla.
Compruebe que la carpeta Win se crea en la carpeta donde guardó el proyecto y que se crean tres archivos en ella.
Crear un proyecto de juego
Todo lo que queda es registrar el archivo y crear un programa en el proyecto MonoGame. Esta vez lo estoy creando en Windows Project. Hemos confirmado que funciona con aplicaciones de la Tienda Windows y Windows Mobile.
Después de crear el proyecto, registre los tres archivos que acaba de crear en XACT en la carpeta Contenido. No tiene que ser una carpeta de contenido especial.
Abra las propiedades con los tres archivos que agregó seleccionados.
Cambie de Copiar a Directorio de salida a Copiar si es nuevo.
Proyecto de aplicación universal de Windows (UAP) no está disponible con la configuración anterior. En su lugar, cambie la acción de compilación a "Contenido".
El resto es sólo el programa. Es esencialmente el mismo programa que la reproducción de sonido usando XACT.
Agregue Microsoft.Xna.Framework.Audio al espacio de nombres que desea usar.
using Microsoft.Xna.Framework;
using Microsoft.Xna.Framework.Audio;
using Microsoft.Xna.Framework.Graphics;
using Microsoft.Xna.Framework.Input;
Agregue las tres líneas siguientes al campo: AudioEngine, SoundBank y WaveBank.
GraphicsDeviceManager graphics;
SpriteBatch spriteBatch;
AudioEngine audioEngine;
SoundBank soundBank;
WaveBank waveBank;
Crear instancias de AudioEngine, SoundBank y WaveBank en el LoadContent método. Cada uno de ellos corresponde a los tres archivos agregados a la carpeta Contenido, así que por favor escórtelo en relación con la carpeta raíz del proyecto.
Aquí estamos jugando a Cue de inmediato, pero en un juego real jugarás donde quieras.
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();
}
Ejecute en este estado y asegúrese de que está en bucle en el medio. El control de bucle real se completa en la fase WAVE o XACT, por lo que no es necesario realizar ninguna configuración especial en el programa.
Acerca de la compresión de archivos de audio
XACT proporciona la capacidad de comprimir archivos de audio para reducir el tamaño del archivo. XNA Game Studio fue capaz de reproducir archivos comprimidos, pero MonoGame no los admite, por lo que puede haber excepciones o audio no deseado al reproducir. Solo los archivos de onda sin comprimir se pueden utilizar en términos reales. Como puede ver, el tamaño del archivo es bastante grande.
Si realmente desea reducir el tamaño del archivo, debe ajustar la frecuencia de muestreo del archivo WAVE, y así sucesivamente.
Cómo iPhone, Android, Linux y OUYA están disponibles
XACT es una herramienta de Windows y Xbox, por lo que no está seguro de que funcione en otras plataformas. Si es necesario, pruébalo y decide si quieres contratarlo.