// private List<Sound> m_SFXList; /// <summary> /// Class constructor. /// </summary> public SoundManager() { //Empties variable m_System = null; m_BGM = null; m_BGMChannel = null; //Create FMOD system CheckError(Factory.System_Create(ref m_System)); //Check version uint Version = 0; CheckError(m_System.getVersion(ref Version)); if (Version < VERSION.number) throw new System.Exception(Global.FMODVERSION_ERROR); //Check driver CheckDriver(); }
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; }
public RESULT recordStart(int id, Sound sound, bool loop) { return FMOD_System_RecordStart(systemraw, id, sound.getRaw(), (loop ? 1 : 0)); }
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; }
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; }
public RESULT getSound(int index, ref Sound sound) { RESULT result = RESULT.OK; IntPtr soundraw = new IntPtr(); Sound soundnew = null; try { result = FMOD_SoundGroup_GetSound(soundgroupraw, index, 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; }
public RESULT setSubSound(int index, Sound subsound) { IntPtr subsoundraw = subsound.getRaw(); return FMOD_Sound_SetSubSound(soundraw, index, subsoundraw); }
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; }