예제 #1
0
파일: Sound.cs 프로젝트: HaKDMoDz/InVision
		public RESULT getSubSound             (int index, ref Sound subsound)
		{
			RESULT result       = RESULT.OK;
			IntPtr subsoundraw  = new IntPtr();
			Sound  subsoundnew  = null;

			try
			{
				result = FMOD_Sound_GetSubSound(soundraw, index, ref subsoundraw);
			}
			catch
			{
				result = RESULT.ERR_INVALID_PARAM;
			}
			if (result != RESULT.OK)
			{
				return result;
			}

			if (subsound == null)
			{
				subsoundnew = new Sound();
				subsoundnew.setRaw(subsoundraw);
				subsound = subsoundnew;
			}
			else
			{
				subsound.setRaw(subsoundraw);
			}

			return result;
		}
예제 #2
0
		public RESULT getCurrentSound       (ref Sound sound)
		{
			RESULT result      = RESULT.OK;
			IntPtr soundraw    = new IntPtr();
			Sound  soundnew    = null;

			try
			{
				result = FMOD_Channel_GetCurrentSound(channelraw, ref soundraw);
			}
			catch
			{
				result = RESULT.ERR_INVALID_PARAM;
			}
			if (result != RESULT.OK)
			{
				return result;
			}

			if (sound == null)
			{
				soundnew = new Sound();
				soundnew.setRaw(soundraw);
				sound = soundnew;
			}
			else
			{
				sound.setRaw(soundraw);
			}

			return result;  
		}
예제 #3
0
파일: Sound.cs 프로젝트: HaKDMoDz/InVision
		public RESULT setSubSound             (int index, Sound subsound)
		{
			IntPtr subsoundraw = subsound.getRaw();

			return FMOD_Sound_SetSubSound(soundraw, index, subsoundraw);
		}
예제 #4
0
파일: System.cs 프로젝트: HaKDMoDz/InVision
		public RESULT recordStart            (int id, Sound sound, bool loop)
		{
			return FMOD_System_RecordStart(systemraw, id, sound.getRaw(), (loop ? 1 : 0));
		}
예제 #5
0
파일: System.cs 프로젝트: HaKDMoDz/InVision
		public RESULT playSound              (CHANNELINDEX channelid, Sound sound, bool paused, ref Channel channel)
		{
			RESULT result      = RESULT.OK;
			IntPtr      channelraw;
			Channel     channelnew  = null;

			if (channel != null)
			{
				channelraw = channel.getRaw();
			}
			else
			{
				channelraw  = new IntPtr();
			}

			try
			{
				result = FMOD_System_PlaySound(systemraw, channelid, sound.getRaw(), (paused ? 1 : 0), ref channelraw);
			}
			catch
			{
				result = RESULT.ERR_INVALID_PARAM;
			}
			if (result != RESULT.OK)
			{
				return result;
			}

			if (channel == null)
			{
				channelnew = new Channel();
				channelnew.setRaw(channelraw);
				channel = channelnew;
			}
			else
			{
				channel.setRaw(channelraw);
			}
                             
			return result;                                                                    
		}
예제 #6
0
파일: System.cs 프로젝트: HaKDMoDz/InVision
		public RESULT createStream            (string name_or_data, MODE mode, ref Sound sound)
		{
			RESULT result           = RESULT.OK;
			IntPtr      soundraw    = new IntPtr();
			Sound       soundnew    = null;

			mode = mode | MODE.UNICODE;

			try
			{
				result = FMOD_System_CreateStream(systemraw, name_or_data, mode, 0, ref soundraw);
			}
			catch
			{
				result = RESULT.ERR_INVALID_PARAM;
			}
			if (result != RESULT.OK)
			{
				return result;
			}

			if (sound == null)
			{
				soundnew = new Sound();
				soundnew.setRaw(soundraw);
				sound = soundnew;
			}
			else
			{
				sound.setRaw(soundraw);
			}

			return result;
		}
예제 #7
0
파일: System.cs 프로젝트: HaKDMoDz/InVision
		public RESULT createStream            (byte[] data, MODE mode, ref CREATESOUNDEXINFO exinfo, ref Sound sound)
		{
			RESULT result           = RESULT.OK;
			IntPtr      soundraw    = new IntPtr();
			Sound       soundnew    = null;

			try
			{
				result = FMOD_System_CreateStream(systemraw, data, mode, ref exinfo, ref soundraw);
			}
			catch
			{
				result = RESULT.ERR_INVALID_PARAM;
			}
			if (result != RESULT.OK)
			{
				return result;
			}

			if (sound == null)
			{
				soundnew = new Sound();
				soundnew.setRaw(soundraw);
				sound = soundnew;
			}
			else
			{
				sound.setRaw(soundraw);
			}

			return result;
		}