Skip to content
Snippets Groups Projects
Select Git revision
  • 87531629072e5d14e1a99998dd6e9de305210e7a
  • main default protected
2 results

icmp-timestamp.c

Blame
  • Code owners
    Assign users and groups as approvers for specific file changes. Learn more.
    Micro.cs 4.72 KiB
    using System.Collections;
    using UnityEngine;
    using UnityEngine.UI;
    using System;
    using System.IO;
    
    using UnityEngine.Windows.Speech;
    using System.Collections.Generic;
    using System.Linq;
    
    
    public class Micro : MonoBehaviour
    {
        private Animator animator;
        private bool pulsado;
        //private Escritor e = new Escritor();
        private Altavoz altavoz;
        private bool conectado = false;
        private DinamicaComprension dc;
        private DinamicaProduccion dp;
        private string nombreDinamica = "";
        Diccionario d = new Diccionario();
        private bool guardarAudio = false;
    
        AudioSource audioSource;
        //private SavWav savwav;
        private AudioClip audioClip;
        private bool useMicro;
        private string selectedDevice;
        //Reconocedor
        KeywordRecognizer keywordRecognizer;
        Dictionary<string, System.Action> keywords = new Dictionary<string, System.Action>();
    
        //Create keywords for keyword recognizer
         private void Start()
        {
            keywords.Add(dp.getTextoAGrabar(), () =>
            {
                FraseDichaBien();// action to be performed when this keyword is spoken
            });
            keywordRecognizer = new KeywordRecognizer(keywords.Keys.ToArray());
            keywordRecognizer.OnPhraseRecognized += KeywordRecognizer_OnPhraseRecognized;
            keywordRecognizer.Start();
        }
    
        private void KeywordRecognizer_OnPhraseRecognized(PhraseRecognizedEventArgs args)
        {
            System.Action keywordAction;
            // if the keyword recognized is in our dictionary, call that Action.
            if (keywords.TryGetValue(args.text, out keywordAction))
            {
                keywordAction.Invoke();
            }
        }
    
        private void FraseDichaBien()
        {
            dp.DispararGrabacionCorrecta();
        }
    
        private void Update()
        {
            if (dc != null) nombreDinamica = dc.getNombreDinamica();
            if (dp != null) nombreDinamica = dp.getNombreDinamica();
          
        }
    
    
        public bool getPulsado()
        {
            return pulsado;
        }
    
        public void setPulsado(bool estado)
        {
            pulsado = estado;
        }
    
        public void setDisponible(bool estado)
        {
            conectado = estado;
        }
    
        private void OnMouseDown()
        {
            altavoz.setReproducir(false);
            altavoz.setConectado(false);
            animator = GetComponent<Animator>();
            animator.SetBool("MicroPulsado", true);
            pulsado = true;
            //UsandoMicro();
        }
    
        public void setConectado(bool estado)
        {
            animator = GetComponent<Animator>();
            animator.SetBool("MicroConectado", estado);
        }
    
        public void setGrabarFalse()
        {
            animator = GetComponent<Animator>();
            animator.SetBool("MicroPulsado", false);
            animator.SetBool("MicroConectado", false);
            pulsado = false;
            altavoz.setReproducir(true);
            altavoz.setConectado(true);
            //NoUsarMicro();
        }
    
    
        public void NoUsarMicro()
        {
            //altavoz.setReproducir(true);
            //altavoz.setConectado(true);
            if(guardarAudio) Microphone.End(selectedDevice);
    
    
    
            //var filePath = "./Gonzalo/Grabaciones/data.wav";
            //SavWav.Save("filePath", audioSource);
            //audioClip = audioSource.clip;
    
            string fecha = DateTime.Now.ToString("dd-MM-yyyy-hh-mm-ss");
    
    
    
            //var filepath = "./Gonzalo/Grabaciones/" + fecha + ".wav";
    
            if(guardarAudio) SavWav.Save(audioClip);
            Escritor.Instance.save(d.getDiccionario("Fin_Grabacion"), nombreDinamica);
            
           
        }
    
    
        public void UsandoMicro()
        {
            
            Escritor.Instance.save(d.getDiccionario("Comienzo_Grabacion"), nombreDinamica);
            
            
            if (Microphone.devices.Length > 0)
            {
                print("Longitud: "+ Microphone.devices.Length);
                guardarAudio = true;
                
                selectedDevice = Microphone.devices[0].ToString();
                //audioClip = Microphone.Start(selectedDevice, true, 10, AudioSettings.outputSampleRate);
                audioClip = Microphone.Start(selectedDevice, true, 10, 10000);
    
            }
            else
            {
                guardarAudio = false;
    
            }
        }
    
        public AudioClip getAudioClip()
        {
            return audioClip;
        }
    
        public void setAudioClip(AudioClip audioClip)
        {
            this.audioClip = audioClip;
        }
    
        public void setNombreDinamica(string nombre)
        {
            nombreDinamica = nombre;
        }
    
        /**public void setEscritor(Escritor e)
        {
            this.e = e;
        }*/
    
        public void setAltavoz(Altavoz altavoz)
        {
            this.altavoz = altavoz;
        }
    
        public Micro getMicro()
        {
            return this;
        }
    
        public void setDinamicaComprension(DinamicaComprension dc)
        {
            this.dc = dc;
        }
    
        public void setDinamicaProduccion(DinamicaProduccion dp)
        {
            this.dp = dp;
        }
    }