Exemplo n.º 1
0
        private void AudioDateiVorladen(Geraeusche welchesGeraeusch)
        {
            if (!this.geraeuschKatalog.ContainsKey(welchesGeraeusch))
            {
                var audioDateiName = Audio.GetAudioDateiName(welchesGeraeusch);
                var geraeuschDatei = Assembly.GetExecutingAssembly().GetManifestResourceStream(
                    typeof(RessourcenKlasse),
                    $@"Geraeusche.{ audioDateiName }"
                    );

                this.geraeuschKatalog.TryAdd(welchesGeraeusch, geraeuschDatei);
            }
        }
Exemplo n.º 2
0
        private static string GetAudioDateiName(Geraeusche welcheDatei)
        {
            switch (welcheDatei)
            {
            case Geraeusche.SchussStart:
                return("projectile-fired.wav");

            case Geraeusche.SchussEinschlag:
                return("decay-crumble.wav");
            }

            return(null);
        }
Exemplo n.º 3
0
 public void GeraeuschAbspielen(Geraeusche welchesGeraeusch)
 {
     Task.Run(() =>
     {
         this.AudioDateiVorladen(welchesGeraeusch);
         if (this.geraeuschKatalog.TryGetValue(welchesGeraeusch, out Stream audioDatei))
         {
             audioDatei.Seek(0L, SeekOrigin.Begin);
             lock (this.soundPlayer)
             {
                 soundPlayer.Stream = audioDatei;
                 soundPlayer.Play();
             }
         }
     });
 }