Example #1
0
        /// <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;
        }
Example #2
0
        /// <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;
        }
Example #3
0
 public override SoundBufferSessionImpl CreateSoundBufferSession(SoundBufferImpl buffer)
 {
     return(new NullSoundBufferSessionImpl());
 }
Example #4
0
 public override SoundBufferSessionImpl CreateSoundBufferSession(SoundBufferImpl buffer)
 {
     return(new FMOD_SoundBufferSession(this, buffer as FMOD_SoundBuffer));
 }
Example #5
0
 public override SoundBufferSessionImpl CreateSoundBufferSession(SoundBufferImpl buffer)
 {
     return(new SDL_SoundBufferSession((SDL_SoundBuffer)buffer));
 }
Example #6
0
		public override SoundBufferSessionImpl CreateSoundBufferSession(SoundBufferImpl buffer)
		{
			return new AL_SoundBufferSession((AL_SoundBuffer)buffer);
		}
Example #7
0
        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));
 }
Example #9
0
 /// <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);
 }