public SoundEventTag(VocalizedEvent evt, string fileName) { VocEvent = evt; EventName = EnumFriendlyName <VocalizedEvent> .GetString(evt); FileName = fileName; }
public static byte[] GetEventSound(VocalizedEvent evt) { try { locker.AcquireReaderLock(LockTimeout); } catch (ApplicationException) { return(null); } try { byte[] s; eventSound.TryGetValue(evt, out s); return(s); } finally { locker.ReleaseReaderLock(); } }
public static byte[] GetEventSound(VocalizedEvent evt) { try { locker.AcquireReaderLock(LockTimeout); } catch (ApplicationException) { return null; } try { byte[] s; eventSound.TryGetValue(evt, out s); return s; } finally { locker.ReleaseReaderLock(); } }
/// <summary> /// асинхронно запустить проигрывание соотв. звука /// </summary> public void PlayEvent(VocalizedEvent evt) { if (silent) { return; } // проверить количество потоков if (soundStreamsCount >= soundStreamsMax) { return; } // получить содержимое звукового файла var bytes = SoundSettings.GetEventSound(evt); if (bytes == null || bytes.Length == 0) { return; } // проиграть в отдельном потоке ThreadPool.QueueUserWorkItem(PlaySoundSync, bytes); }
public SoundEventTag(VocalizedEvent evt, string fileName) { VocEvent = evt; EventName = EnumFriendlyName<VocalizedEvent>.GetString(evt); FileName = fileName; }
/// <summary> /// асинхронно запустить проигрывание соотв. звука /// </summary> public void PlayEvent(VocalizedEvent evt) { if (silent) return; // проверить количество потоков if (soundStreamsCount >= soundStreamsMax) return; // получить содержимое звукового файла var bytes = SoundSettings.GetEventSound(evt); if (bytes == null || bytes.Length == 0) return; // проиграть в отдельном потоке ThreadPool.QueueUserWorkItem(PlaySoundSync, bytes); }