/// <summary>
        /// Stars loading all sounds in a background thread.
        /// </summary>
        protected void LoadThreadSounds()
        {
            IEnumerator <KeyValuePair <string, string> > it = Wavs.GetEnumerator();
            string filename = null;

            while (it.MoveNext())
            {
                // load it
                filename = Path.Combine(WavFolder, it.Current.Key);

                // update
                Wavs.TryUpdate(it.Current.Key, filename, null);
                numLoadedWavs++;

                queueAsyncFilesLoaded.Enqueue(it.Current.Key);
            }
        }
        /// <summary>
        /// Stars loading all sounds in a background thread.
        /// </summary>
        protected void LoadThreadSounds()
        {
            IEnumerator <KeyValuePair <string, Tuple <IntPtr, uint> > > it = Wavs.GetEnumerator();
            Tuple <IntPtr, uint> wavData = null;

            while (it.MoveNext())
            {
                // load it
                wavData = Util.LoadFileToUnmanagedMem(
                    Path.Combine(WavFolder, it.Current.Key));

                // update
                Wavs.TryUpdate(it.Current.Key, wavData, null);

                queueAsyncFilesLoaded.Enqueue(it.Current.Key);
            }
        }
示例#3
0
        /// <summary>
        /// Preloads all elements in the Wavs dictionary.
        /// </summary>
        public void PreloadSounds()
        {
            IEnumerator <KeyValuePair <string, Tuple <IntPtr, uint> > > it = Wavs.GetEnumerator();
            Tuple <IntPtr, uint> wavData = null;

            while (it.MoveNext())
            {
                // load it
                wavData = Util.LoadFileToUnmanagedMem(
                    Path.Combine(Config.WavFolder, it.Current.Key));

                // update
                Wavs.TryUpdate(it.Current.Key, wavData, null);
            }

            GC.Collect(2);
        }