Renamed / moved / updated the SFML.Net examples (2)
git-svn-id: https://sfml.svn.sourceforge.net/svnroot/sfml/branches/sfml2@1558 4e206d99-4929-0410-ac5d-dfc041789085
This commit is contained in:
parent
177c82a197
commit
80b803fe93
34 changed files with 1747 additions and 0 deletions
82
dotnet/examples/sound/Sound.cs
Normal file
82
dotnet/examples/sound/Sound.cs
Normal file
|
@ -0,0 +1,82 @@
|
|||
using System;
|
||||
using System.Threading;
|
||||
using SFML;
|
||||
using SFML.Audio;
|
||||
|
||||
namespace sample_sound
|
||||
{
|
||||
static class Program
|
||||
{
|
||||
/// <summary>
|
||||
/// The main entry point for the application.
|
||||
/// </summary>
|
||||
static void Main(string[] args)
|
||||
{
|
||||
// Play a sound
|
||||
PlaySound();
|
||||
Console.Clear();
|
||||
|
||||
// Play a music
|
||||
PlayMusic();
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Play a sound
|
||||
/// </summary>
|
||||
private static void PlaySound()
|
||||
{
|
||||
// Load a sound buffer from a wav file
|
||||
SoundBuffer buffer = new SoundBuffer("datas/sound/canary.wav");
|
||||
|
||||
// Display sound informations
|
||||
Console.WriteLine("canary.wav :");
|
||||
Console.WriteLine(" " + buffer.Duration + " sec");
|
||||
Console.WriteLine(" " + buffer.SampleRate + " samples / sec");
|
||||
Console.WriteLine(" " + buffer.ChannelsCount + " channels");
|
||||
|
||||
// Create a sound instance and play it
|
||||
Sound sound = new Sound(buffer);
|
||||
sound.Play();
|
||||
|
||||
// Loop while the sound is playing
|
||||
while (sound.Status == SoundStatus.Playing)
|
||||
{
|
||||
// Display the playing position
|
||||
Console.CursorLeft = 0;
|
||||
Console.Write("Playing... " + sound.PlayingOffset + " sec ");
|
||||
|
||||
// Leave some CPU time for other processes
|
||||
Thread.Sleep(100);
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Play a music
|
||||
/// </summary>
|
||||
private static void PlayMusic()
|
||||
{
|
||||
// Load an ogg music file
|
||||
Music music = new Music("datas/sound/orchestral.ogg");
|
||||
|
||||
// Display music informations
|
||||
Console.WriteLine("orchestral.ogg :");
|
||||
Console.WriteLine(" " + music.Duration + " sec");
|
||||
Console.WriteLine(" " + music.SampleRate + " samples / sec");
|
||||
Console.WriteLine(" " + music.ChannelsCount + " channels");
|
||||
|
||||
// Play it
|
||||
music.Play();
|
||||
|
||||
// Loop while the music is playing
|
||||
while (music.Status == SoundStatus.Playing)
|
||||
{
|
||||
// Display the playing position
|
||||
Console.CursorLeft = 0;
|
||||
Console.Write("Playing... " + music.PlayingOffset + " sec ");
|
||||
|
||||
// Leave some CPU time for other processes
|
||||
Thread.Sleep(100);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
Loading…
Add table
Add a link
Reference in a new issue