3 using Microsoft.Xna.Framework.Audio;
6 using System.Collections.Generic;
17 List<Sound> Instances =
new List<Sound>();
19 private string assetName;
26 public TimeSpan
Duration {
get { DoLoad();
return xnaEffect.Duration; } }
40 if (xnaEffect == null)
42 Debug.Assert(assetName != null);
46 Position.MaxValue = xnaEffect.Duration.TotalSeconds;
51 this.assetName = assetName;
52 this.xnaEffect = null;
59 this.assetName = null;
64 private void InitPosition()
67 posTimer =
new Timer();
69 posTimer.
Timeout +=
new Action(IncrementPosition);
73 private void IncrementPosition()
78 private void EffectPlayed()
94 return new Sound( xnaEffect.CreateInstance() );
105 if (sound == null)
return false;
107 StartPlaying( sound );
118 public bool Play(
double volume,
double pitch,
double pan )
122 if (sound == null)
return false;
128 StartPlaying( sound );
132 private void StartPlaying(
Sound sound )
135 Instances.Add( sound );
146 foreach (var sound
in Instances)
double Interval
Aika sekunneissa, jonka välein TimeOut tapahtuu.
void Stop()
Pysäyttää ajastimen ja nollaa sen tilan.
Action Timeout
Tapahtuu väliajoin.
DoubleMeter Position
Paikka äänessä sekunteina (missä kohtaa toistoa ollaan). Ei voi asettaa.
double Volume
Äänenvoimakkuus välillä 0.0 - 1.0.
Ääniefekti. Yhdestä efektistä voi luoda CreateSound-metodilla monta ääntä (Sound), jotka voivat soida yhtäaikaa. Ääntä ei tarvitse kuitenkaan luoda itse, jos vain kutsuu Play-metodia.
bool Play()
Soittaa äänen.
double Pan
Äänen kuuluminen vasemmasta ja oikeasta kaiuttimesta. Arvot vaihtelevat välillä -1.0 - 1.0 seuraavasti: -1.0 -> täysin vasemmalla 0.0 -> keskellä 1.0 -> täysin oikealla
Mittari, joka mittaa double-tyyppisiä arvoja. Sidottavissa näyttöihin, kuten ValueDisplay ja BarGauge...
bool IsPlaying
Toistetaanko ääntä parhaillaan.
Peliluokka reaaliaikaisille peleille.
Sound CreateSound()
Luo Sound-tyyppisen olion. Oliolla on ominaisuuksia kuten voimakkuus ja korkeus joita voidaan muuttaa...
static double MasterVolume
Äänenvoimakkuuden taso 0.0 - 1.0
Ajastin, joka voidaan asettaa laukaisemaan tapahtumia tietyin väliajoin.
TimeSpan Duration
Ääniefektin kesto sekunteina.
void Start()
Käynnistää ajastimen.
bool Play(double volume, double pitch, double pan)
Soittaa äänen.
void Stop()
Pysäyttää äänen toistamisen.
double Pitch
Äänenkorkeus välillä -1.0 - 1.0.