/// <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); } }
/// <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); }