示例#1
0
        public static Sound CreateSound(GameStructure i_Game, eSoundName i_eSoundType)
        {
            SoundsManager m_soundManager = i_Game.Services.GetService(typeof(SoundsManager)) as SoundsManager;
            Sound         sound          = null;

            switch (i_eSoundType)
            {
            case eSoundName.BackgroundMusic:
                sound = new Sound(i_Game, k_BackgroundMusicAsset, true, eSoundType.BackgroundMusic);
                break;

            case eSoundName.BarrierHit:
                sound = new Sound(i_Game, k_BarrierHitAsset, false, eSoundType.SoundsEffects);
                break;

            case eSoundName.EnemyGunShot:
                sound = new Sound(i_Game, k_EnemyGunShotAsset, false, eSoundType.SoundsEffects);
                break;

            case eSoundName.EnemyKill:
                sound = new Sound(i_Game, k_EnemyKillAsset, false, eSoundType.SoundsEffects);
                break;

            case eSoundName.GameOver:
                sound = new Sound(i_Game, k_GameOverAsset, false, eSoundType.SoundsEffects);
                break;

            case eSoundName.LevelWin:
                sound = new Sound(i_Game, k_LevelWinAsset, false, eSoundType.SoundsEffects);
                break;

            case eSoundName.LifeDie:
                sound = new Sound(i_Game, k_LifeDieAsset, false, eSoundType.SoundsEffects);
                break;

            case eSoundName.MenuMove:
                sound = new Sound(i_Game, k_MenuMoveAsset, false, eSoundType.SoundsEffects);
                break;

            case eSoundName.MotherShipKill:
                sound = new Sound(i_Game, k_MotherShipKillAsset, false, eSoundType.SoundsEffects);
                break;

            case eSoundName.SSGunShot:
                sound = new Sound(i_Game, k_SSGunShotAsset, false, eSoundType.SoundsEffects);
                break;
            }

            m_soundManager.SetSoundByInstanceType(sound);
            m_soundManager.AddSound(sound);
            return(sound);
        }
示例#2
0
        internal static async void PlaySound(eSoundName sound)
        {
            string FileToPlay;

            switch (sound)
            {
            case eSoundName.Chord:
                FileToPlay = "chord.wav";
                break;

            case eSoundName.badumtshh:
                FileToPlay = "badumtshh.aif";
                break;

            case eSoundName.WilhelmScream:
                FileToPlay = "WilhelmScream.mp3";
                break;

            default:
                FileToPlay = "";
                break;
            }

#if __ANDROID__
#else
            MediaElement mysong = new MediaElement();
            Windows.Storage.StorageFile SoundFile;
            try
            {
                SoundFile = await UwpIO.GetFile(new FileInfoClass()
                {
                    Fileplace = Place.Assets,
                    Filename  = FileToPlay,
                    Filepath  = StringHelper.GetPrefix(PrefixType.AppPackageData) + SoundFolder
                }, eUser : UserDecision.ThrowError, eCreation : FileNotFoundDecision.NotCreate);
            }
            catch (Exception)
            {
                return;
            }
            mysong.SetSource(await SoundFile.OpenAsync(Windows.Storage.FileAccessMode.Read), SoundFile.ContentType);
            mysong.AudioCategory = Windows.UI.Xaml.Media.AudioCategory.SoundEffects;
            mysong.Play();
#endif
        }