Unity文字转语音功能开发小计
前言
在之前的项目中用过别人的文字转语音的工具,有时候心想自己能不能开发一个,于是在网上查阅资料,找到了一个方法。调用interop.speechlid.dll调用此功能。具体步骤如下所示:
步骤
1.将下载好的interop.speechild.dll放到工程中的Plugins文件夹下,如下图所示:
2.在Player Settings中,将Api Compatibility Level选择为.Net2.0,如图所示:
3.这个dll只能在pc下使用,其他平台不能使用,切记。添加TextToSpeech.cs脚本,脚本代码如下图所示:
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using SpeechLib;
public class TextToSpeech : MonoBehaviour
{
SpVoice voice;
// Use this for initialization
void Start ()
{
ToCreateVoice();
}
/// <summary>
/// 创建语音
/// </summary>
void ToCreateVoice()
{
voice = new SpVoice();
voice.Speak("1234");
//语音速度,范围-10到10,默认为0
voice.Rate = 10;
//语音音量,范围0到100,默认为100
voice.Volume = 50;
}
/// <summary>
/// 暂停语音
/// </summary>
public void ToPauseVoice()
{
voice.Pause();
}
/// <summary>
/// 继续播放语音
/// </summary>
public void ToResumeVoice()
{
voice.Resume();
}
}
4.将脚本挂载到场景中的物体上,运行工程,声音已经可以播放出来,完成,interop.speechild.dll放在后面,方便大家下载测试。