/// <summary> /// Constructs a SoundBuffer object, loading audio data from the /// specified file given the specified IFileProvider. /// </summary> /// <param name="fileProvider"></param> /// <param name="filename"></param> public SoundBuffer(IFileProvider fileProvider, string filename) { using (System.IO.Stream s = fileProvider.OpenRead(filename)) { impl = Audio.Impl.CreateSoundBuffer(s); } mFilename = filename; }
/// <summary> /// Disposes of the SoundBuffer object, and all SoundBufferSession objects /// created by this SoundBuffer. /// </summary> public void Dispose() { // trick to keep the list from changing while we iterate through it. List <SoundBufferSession> sessions = mSessions; mSessions = null; foreach (SoundBufferSession s in sessions) { s.Dispose(); } if (impl != null) { impl.Dispose(); impl = null; } mIsDisposed = true; }
public override SoundBufferSessionImpl CreateSoundBufferSession(SoundBufferImpl buffer) { return(new NullSoundBufferSessionImpl()); }
public override SoundBufferSessionImpl CreateSoundBufferSession(SoundBufferImpl buffer) { return(new FMOD_SoundBufferSession(this, buffer as FMOD_SoundBuffer)); }
public override SoundBufferSessionImpl CreateSoundBufferSession(SoundBufferImpl buffer) { return(new SDL_SoundBufferSession((SDL_SoundBuffer)buffer)); }
public override SoundBufferSessionImpl CreateSoundBufferSession(SoundBufferImpl buffer) { return new AL_SoundBufferSession((AL_SoundBuffer)buffer); }
public override SoundBufferSessionImpl CreateSoundBufferSession(SoundBufferImpl buffer) { CheckCoop(); return(new MDX1_SoundBufferSession(this, buffer as MDX1_SoundBuffer)); }
public override SoundBufferSessionImpl CreateSoundBufferSession(SoundBufferImpl buffer) { return(new XAudio2_SoundBufferSession(this, buffer as XAudio2_SoundBuffer)); }
/// <summary> /// Constructs a SoundBuffer object, loading audio data from the passed stream. /// </summary> /// <param name="source"></param> public SoundBuffer(Stream source) { impl = Audio.Impl.CreateSoundBuffer(source); }