Esempio n. 1
0
        void InitMusic()
        {
            if (musicThread != null)
            {
                musicOut.SetVolume(game.MusicVolume / 100.0f); return;
            }

            int musicCount = 0;

            for (int i = 0; i < files.Length; i++)
            {
                if (Utils.CaselessEnds(files[i], ".ogg"))
                {
                    musicCount++;
                }
            }

            musicFiles = new string[musicCount];
            for (int i = 0, j = 0; i < files.Length; i++)
            {
                if (!Utils.CaselessEnds(files[i], ".ogg"))
                {
                    continue;
                }
                musicFiles[j] = files[i]; j++;
            }

            disposingMusic = false;
            musicOut       = GetPlatformOut();
            musicOut.Create(10);
            musicThread = MakeThread(DoMusicThread, "ClassicalSharp.DoMusic");
        }
Esempio n. 2
0
		void PlaySound(IAudioOutput output, float volume) {
			try {
				output.Initalise(chunk);
				//uint newSrc = output.GetSource();
				//output.SetSource(newSrc);
				output.SetVolume(volume);
				
				/*LocalPlayer player = game.LocalPlayer;
				
				Vector3 camPos = game.CurrentCameraPos;
				Vector3 eyePos = game.LocalPlayer.EyePosition;
				Vector3 oneY = Vector3.UnitY;
				
				Vector3 lookPos;
				//lookPos.X = (float)(Math.Cos(player.HeadX) * Math.Sin(player.HeadY));
				//lookPos.Y = (float)(-Math.Sin(player.HeadX));
				//lookPos.Z = (float)(Math.Cos(player.HeadY) * Math.Cos(player.HeadX));
				lookPos.X = game.Graphics.View.Row1.X;
				lookPos.Y = game.Graphics.View.Row1.Y;
				lookPos.Z = game.Graphics.View.Row1.Z;
				lookPos = Vector3.Normalize(lookPos);
				
				Vector3 upPos;
				upPos.X = game.Graphics.View.Row2.X;
				upPos.Y = game.Graphics.View.Row2.Y;
				upPos.Z = game.Graphics.View.Row2.Z;
				upPos = Vector3.Normalize(upPos);*/
				
				Vector3 pos = game.LocalPlayer.EyePosition;
				Vector3 feetPos = game.LocalPlayer.Position;
				Vector3 vel = game.LocalPlayer.Velocity;
				float yaw = game.LocalPlayer.HeadY;
				output.SetSoundGain(0f);
				output.SetSoundRefDist(0.5f);
				output.SetSoundMaxDist(1000f);
				output.SetListenerPos(0, 0, 0);
				//output.SetListenerPos(pos.X, pos.Y, pos.Z);
				//output.SetListenerVel(vel.X, vel.Y, vel.Z);
				//output.SetListenerDir(yaw);
				//output.SetSoundPos(feetPos.X, feetPos.Y, feetPos.Z);
				if (!output.IsPosSet()) {
				//	output.SetSoundPos(feetPos.X, feetPos.Y, feetPos.Z);
				//	output.SetSoundVel(0, 0, 0);
				}
				output.SetSoundPos(0, 0, 0);
				//output.SetSoundRelative(true);
				
				output.PlayRawAsync(chunk);
			} catch (InvalidOperationException ex) {
				ErrorHandler.LogError("AudioPlayer.PlayCurrentSound()", ex);
				if (ex.Message == "No audio devices found")
					game.Chat.Add("&cNo audio devices found, disabling sounds.");
				else
					game.Chat.Add("&cAn error occured when trying to play sounds, disabling sounds.");
				
				SetSounds(0);
				game.SoundsVolume = 0;
			}
		}
Esempio n. 3
0
        void PlaySound(IAudioOutput output, float volume)
        {
            try {
                output.SetVolume(volume);
                output.PlayRawAsync(chunk);
            } catch (InvalidOperationException ex) {
                ErrorHandler.LogError("AudioPlayer.PlayCurrentSound()", ex);
                if (ex.Message == "No audio devices found")
                {
                    game.Chat.Add("&cNo audio devices found, disabling sounds.");
                }
                else
                {
                    game.Chat.Add("&cAn error occured when trying to play sounds, disabling sounds.");
                }

                SetSounds(0);
                game.SoundsVolume = 0;
            }
        }