using System;
using System.Threading;
using SFML;
using SFML.Audio;
namespace sample_sound
{
static class Program
{
///
/// The main entry point for the application.
///
static void Main(string[] args)
{
// Play a sound
PlaySound();
Console.Clear();
// Play a music
PlayMusic();
}
///
/// Play a sound
///
private static void PlaySound()
{
// Load a sound buffer from a wav file
SoundBuffer Buffer = new SoundBuffer("datas/sound/footsteps.wav");
// Display sound informations
Console.WriteLine("footsteps.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);
}
}
///
/// Play a music
///
private static void PlayMusic()
{
// Load an ogg music file
Music Music = new Music("datas/sound/lepidoptera.ogg");
// Display music informations
Console.WriteLine("lepidoptera.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);
}
}
}
}