How to solve a problem about TTS.

I try to TTS(Korean) on Unity.
I make a C# code. This code operate on Visual Studio. But, when I try to operate this code on Unity, the code not operate and the Unity was closed(Unity Bug Reporter).
I want know the way to solve a this problem.

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using Microsoft.Speech;
using Microsoft.Speech.Synthesis;
using UnityEngine;

public class Test1 : MonoBehaviour
{

    public string talk_text = "안녕";

    // Use this for initialization
    void Start()
    {
     
    }

    // Update is called once per frame
    void Update()
    {

    }

    void OnGUI()
    {
		
        talk_text = GUI.TextField(new Rect(5, 5, 200, 20), talk_text);

        if (GUI.Button(new Rect(5, 30, 200, 50), "test"))
        {
            SpeechSynthesizer Synthesis = new SpeechSynthesizer();
            Synthesis.SelectVoice("Microsoft Server Speech Text to Speech Voice (ko-KR, TELE)");
            Synthesis.SetOutputToDsefaultAudioDevice();

using UnityEngine;
using System.Collections;
using System.Text.RegularExpressions;

/// <summary>
/// <author>Jefferson Reis</author>
/// <explanation>Works only on Android, or platform that supports mp3 files. To test, change the platform to Android.</explanation>
/// </summary>

public class GoogleTextToSpeech : MonoBehaviour
{
		public string words = "Hello";
		public string language = "en";

		IEnumerator Start ()
		{
				// Remove the "spaces" in excess
				Regex rgx = new Regex ("\\s+");
				// Replace the "spaces" with "% 20" for the link Can be interpreted
				string result = rgx.Replace (words, "%20");
				string url = "http://translate.google.com/translate_tts?tl=" + language + "&q=" + result;
				WWW www = new WWW (url);
				yield return www;
				audio.clip = www.GetAudioClip (false, false, AudioType.MPEG);
				audio.Play ();
		}
	
		void OnGUI ()
		{
				words = GUI.TextField (new Rect (Screen.width / 2 - 200 / 2, 10, 200, 30), words);
				if (GUI.Button (new Rect (Screen.width / 2 - 150 / 2, 40, 150, 50), "Speak")) {
						StartCoroutine (Start ());
				}
		}


}//closes the class

using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI;
using System.Text.RegularExpressions;

public class TexttoSpeech : MonoBehaviour {

public AudioSource _audio;

//public InputField inputText;

// Use this for initialization
void Start () {
	_audio = gameObject.GetComponent<AudioSource> ();
}

// Update is called once per frame
void Update () {
}

IEnumerator DownloadTheAudio(){
	
	string url="http://translate.google.com/translate_tts?ie=UTF-8&total=1&idx=0&textlen=32&client=tw-ob&q=Hello%20World.&tl=En-gb";
	WWW www = new WWW (url);
	yield return www;
	_audio.clip = www.GetAudioClip (false, false, AudioType.MPEG);
	_audio.Play ();
}

public void ButtonClick(){
	StartCoroutine (DownloadTheAudio ());
}

}