ict.lixian.three/Assets/Scripts/kdl/TextToSpeechHuman.cs

87 lines
2.4 KiB
C#

using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI;
public class TextToSpeechHuman : MonoBehaviour
{
public Button att_startbtn;
public Button att_stopbtn;
public Text att_text;
[SerializeField] AudioTest test;
//文字转语音
public InputField tta_input;
public Button tta_transbtn;
public AudioSource tta_au;
public Text stateText;
[SerializeField] AudioData AudioData;
public Dictionary<string, AudiosLibrary> audios_library = new Dictionary<string, AudiosLibrary>();
AudiosLibrary higth;
public int volume;
private void Awake()
{
for (int i = 0; i < AudioData.Conut(); i++)
{
audios_library.Add(AudioData.show(i).AudiosMan, AudioData.show(i));
}
//AudiosLibrary tempau = new AudiosLibrary();
//tempau.AudiosMan2 = "x4_lingfeichen_assist";
//tempau.AudiosVolume = 100;
//tempau.AudiosHigth = 10;
//tempau.AudiosSpeed = 50;
//audios_library.Add("重音", tempau);
}
// Start is called before the first frame update
void Start()
{
//att_startbtn.onClick.AddListener(MicrophoneInput.instance.OnStartClick);
//att_stopbtn.onClick.AddListener(() =>
//{
// MicrophoneInput.instance.OnStopClick((str) =>
// {
// att_text.text = str;
// tta_input.text = str;
// ToAudio();
// });
//});
tta_transbtn.onClick.AddListener(() =>
{
ToAudio("男重音", tta_input.text);
});
}
// Update is called once per frame
void Update()
{
stateText.text = MyDebugger.msg;
}
private void ToAudio(string Selected,string tempStr)
{
if (!audios_library.ContainsKey(Selected))
{
Debug.Log("声音类型设置错误,请检查字典列表");
return;
}
higth = new AudiosLibrary();
higth = audios_library[Selected];
higth.AudiosVolume = volume;
if (tempStr.Length > 0)
{
//IFlytekManagerHuman.instance.TextToAudio(tempStr, clip =>
//{
// tta_au.clip = clip;
// tta_au.Play();
//}, higth);
}
//Debug.Log(tta_au.clip.frequency);
//Debug.Log(tta_au.clip.samples* tta_au.clip.channels);
}
}