Exemplo n.º 1
0
        public SoundEventTag(VocalizedEvent evt, string fileName)
        {
            VocEvent  = evt;
            EventName = EnumFriendlyName <VocalizedEvent> .GetString(evt);

            FileName = fileName;
        }
Exemplo n.º 2
0
 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();
     }
 }
Exemplo n.º 3
0
 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();
     }
 }
Exemplo n.º 4
0
        /// <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);
        }
Exemplo n.º 5
0
 public SoundEventTag(VocalizedEvent evt, string fileName)
 {
     VocEvent = evt;
     EventName = EnumFriendlyName<VocalizedEvent>.GetString(evt);
     FileName = fileName;
 }
Exemplo n.º 6
0
        /// <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);
        }