Difference between revisions of "XNA First Sound Project"
Line 1: | Line 1: | ||
==Setup Project in GSE== | ==Setup Project in GSE== | ||
+ | |||
+ | Open Visual Studio C# [http://msdn2.microsoft.com/en-us/directx/aa937795.aspx Game Studio Express] | ||
+ | |||
+ | Select New Project | ||
[[Image:GameStudioExpressNewProject.png]] | [[Image:GameStudioExpressNewProject.png]] | ||
+ | |||
+ | Select Windows Game and Create a new folder on a local dirve | ||
[[Image:GameStudioExpressNewProjectSettings.png]] | [[Image:GameStudioExpressNewProjectSettings.png]] | ||
+ | |||
+ | Game Studio Express creates the default game files | ||
[[Image:GameStudioExpressGame1Files.png]] | [[Image:GameStudioExpressGame1Files.png]] | ||
+ | |||
+ | It should also open the Main Game file game1.cs | ||
<csharp> | <csharp> | ||
Line 116: | Line 126: | ||
} | } | ||
</csharp> | </csharp> | ||
+ | |||
+ | All we need to do is to create a folder for the audio. Right click on the project and select 'New Folder' name the folder 'Audio'. | ||
[[Image:GameStudioExpressNewFolder.png]] | [[Image:GameStudioExpressNewFolder.png]] | ||
+ | |||
+ | Now copy at least one 44,100 Hz wav file to the folder to use in the test project. You can do this in windows. | ||
+ | |||
+ | Now we can use [http://en.wikipedia.org/wiki/XACT XACT] http://msdn2.microsoft.com/en-us/library/bb174772.aspx | ||
==XACT Time== | ==XACT Time== | ||
+ | |||
+ | Open XACT | ||
[[Image:XACTOpen.png]] | [[Image:XACTOpen.png]] | ||
+ | |||
+ | Add a new WaveBank. Wave Banks hold a collection of sound files. | ||
[[Image:XACTNewWaveBank.png]] | [[Image:XACTNewWaveBank.png]] | ||
+ | |||
+ | Now create a new Sound Bank. A Sound Bank is a collection of Events, Tracks and Cues. | ||
[[Image:XACTNewSoundBank.png]] | [[Image:XACTNewSoundBank.png]] | ||
+ | |||
+ | I like to tile the XACT windows horizontally | ||
[[Image:XACTTile.png]] | [[Image:XACTTile.png]] | ||
+ | |||
+ | Now we can import sound files. | ||
[[Image:XACTReadyForImport.png]] | [[Image:XACTReadyForImport.png]] | ||
+ | |||
+ | Select | ||
[[Image:XACTNewSound.png]] | [[Image:XACTNewSound.png]] |
Revision as of 04:21, 3 July 2007
Setup Project in GSE
Open Visual Studio C# Game Studio Express
Select New Project
Select Windows Game and Create a new folder on a local dirve
Game Studio Express creates the default game files
It should also open the Main Game file game1.cs
<csharp>
- region Using Statements
using System; using System.Collections.Generic; using Microsoft.Xna.Framework; using Microsoft.Xna.Framework.Audio; using Microsoft.Xna.Framework.Content; using Microsoft.Xna.Framework.Graphics; using Microsoft.Xna.Framework.Input; using Microsoft.Xna.Framework.Storage;
- endregion
namespace TestGame1 {
/// <summary> /// This is the main type for your game /// </summary> public class Game1 : Microsoft.Xna.Framework.Game { GraphicsDeviceManager graphics; ContentManager content;
public Game1() { graphics = new GraphicsDeviceManager(this); content = new ContentManager(Services); }
/// <summary> /// Allows the game to perform any initialization it needs to before starting to run. /// This is where it can query for any required services and load any non-graphic /// related content. Calling base.Initialize will enumerate through any components /// and initialize them as well. /// </summary> protected override void Initialize() { // TODO: Add your initialization logic here
base.Initialize(); }
/// <summary> /// Load your graphics content. If loadAllContent is true, you should /// load content from both ResourceManagementMode pools. Otherwise, just /// load ResourceManagementMode.Manual content. /// </summary> /// <param name="loadAllContent">Which type of content to load.</param> protected override void LoadGraphicsContent(bool loadAllContent) { if (loadAllContent) { // TODO: Load any ResourceManagementMode.Automatic content }
// TODO: Load any ResourceManagementMode.Manual content }
/// <summary> /// Unload your graphics content. If unloadAllContent is true, you should /// unload content from both ResourceManagementMode pools. Otherwise, just /// unload ResourceManagementMode.Manual content. Manual content will get /// Disposed by the GraphicsDevice during a Reset. /// </summary> /// <param name="unloadAllContent">Which type of content to unload.</param> protected override void UnloadGraphicsContent(bool unloadAllContent) { if (unloadAllContent == true) { content.Unload(); } }
/// <summary> /// Allows the game to run logic such as updating the world, /// checking for collisions, gathering input and playing audio. /// </summary> /// <param name="gameTime">Provides a snapshot of timing values.</param> protected override void Update(GameTime gameTime) { // Allows the default game to exit on Xbox 360 and Windows if (GamePad.GetState(PlayerIndex.One).Buttons.Back == ButtonState.Pressed) this.Exit();
// TODO: Add your update logic here
base.Update(gameTime); }
/// <summary> /// This is called when the game should draw itself. /// </summary> /// <param name="gameTime">Provides a snapshot of timing values.</param> protected override void Draw(GameTime gameTime) { graphics.GraphicsDevice.Clear(Color.CornflowerBlue);
// TODO: Add your drawing code here
base.Draw(gameTime); } }
} </csharp>
All we need to do is to create a folder for the audio. Right click on the project and select 'New Folder' name the folder 'Audio'.
Now copy at least one 44,100 Hz wav file to the folder to use in the test project. You can do this in windows.
Now we can use XACT http://msdn2.microsoft.com/en-us/library/bb174772.aspx
XACT Time
Open XACT
Add a new WaveBank. Wave Banks hold a collection of sound files.
Now create a new Sound Bank. A Sound Bank is a collection of Events, Tracks and Cues.
I like to tile the XACT windows horizontally
Now we can import sound files.
Select