using System;
using System.Collections;
using System.Text.RegularExpressions;
using UnityEngine;
using UnityEngine.EventSystems;
using UnityEngine.Networking;
using UnityEngine.UI;
//RequireComponent的这两个组件主要用于播放自己录制的声音,不需要刻意删除,同时注意删除使用组件的代码
[RequireComponent(typeof(AudioListener)), RequireComponent(typeof(AudioSource))]
public class BaiduASR : MonoBehaviour, IPointerDownHandler, IPointerUpHandler
{
//百度语音识别相关key
string appId = "";
string apiKey = ""; //填写自己的apiKey
string secretKey = ""; //填写自己的secretKey
//记录accesstoken令牌
string accessToken = string.Empty;
//语音识别的结果
string asrResult = string.Empty;
//标记是否有麦克风
private bool isHaveMic = false;
//当前录音设备名称
string currentDeviceName = string.Empty;
//录音频率,控制录音质量(8000,16000)
int recordFrequency = 8000;
//上次按下时间戳
double lastPressTimestamp = 0;
//表示录音的最大时长
int recordMaxLength = 10;
//实际录音长度(由于unity的录音需先指定长度,导致识别上传时候会上传多余的无效字节)
//通过该字段,获取有效录音长度,上传时候剪切到无效的字节数据即可
int trueLength = 0;
//存储录音的片段
[HideInInspector]
public AudioClip saveAudioClip;
//当前按钮下的文本
Text textBtn;
//显示结果的文本
Text textResult;
//音源
AudioSource audioSource;
void Start()
{
//获取麦克风设备,判断是否有麦克风设备
if (Microphone.devices.Length > 0)
{
isHaveMic = true;
currentDeviceName = Microphone.devices[0];
}
Unity接入百度语音识别
最新推荐文章于 2023-02-13 19:42:14 发布
![](https://img-home.csdnimg.cn/images/20240711042549.png)