private static IntPtr HookCallback(int nCode, IntPtr wParam, IntPtr lParam)
        {
            if (nCode >= 0 && wParam == (IntPtr)WM_KEYDOWN)
            {
                int vkCode = Marshal.ReadInt32(lParam);
                //Console.WriteLine((Keys)vkCode);

                if ((Keys)vkCode == Keys.F7)
                {
                    CTextSelectionExtractor textSelectionExtractor = new CTextSelectionExtractor();
                    CTextToSpeechConverter  textToSpeechConverter  = new CTextToSpeechConverter();
                    CAudioPlayer            audioPlayer            = new CAudioPlayer();

                    try
                    {
                        Console.WriteLine((Keys)vkCode);

                        Console.WriteLine(textSelectionExtractor.GetText());

                        string fileName = textToSpeechConverter.Convert(textSelectionExtractor.GetText());

                        audioPlayer.play(fileName);
                    }
                    catch (Exception e)
                    {
                        Console.WriteLine(e.Message);
                        audioPlayer.play("UnalbleTOReadTheText.mp3");
                    }
                }
            }

            return(CallNextHookEx(_hookID, nCode, wParam, lParam));
        }
 void OnDestory()
 {
     cAudioPlayer.Destory();
     cAudioPlayer = null;
 }
 void Awake()
 {
     cAudioPlayer = CAudioPlayer.GetInstance();
 }