Skip to content

speech to text just doesnot work #81

@Isaac-dot

Description

@Isaac-dot

there is no errors in unity editor. when i build it on my android phone(android 9). the speech to text function detect nothing even i tick the "is show popup android". i use unity 2021.3.5f1. following errors showed

09-13 01:09:31.559: E/Unity(26927): A scripted object (probably UnityEngine.XR.MagicLeap.MagicLeapSettings?) has a different serialization layout when loading. (Read 52 bytes but expected 76 bytes)
09-13 01:09:31.559: E/Unity(26927): Did you #ifdef UNITY_EDITOR a section of your serialized properties in any of your scripts?

following is the code that i use for running the function
`using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using TextSpeech;
using UnityEngine.Android;
using UnityEngine.UI;
using TMPro;

public class VoiceController : MonoBehaviour
{
const string LANG_CODE = "en-US";
[SerializeField]
TextMeshProUGUI uiText;

void Start()
{
    Setup(LANG_CODE);

#if UNITY_ANDROID
SpeechToText.Instance.onPartialResultsCallback = OnPartialSpeechResult;
#endif

    SpeechToText.Instance.onResultCallback = OnFinalSpeechResult;
    TextToSpeech.Instance.onStartCallBack = OnSpeakStart;
    TextToSpeech.Instance.onDoneCallback = OnSpeakStop;
    CheckPermission();
}

void CheckPermission()
{

#if UNITY_ANDROID
if(!Permission.HasUserAuthorizedPermission(Permission.Microphone))
{
Permission.RequestUserPermission(Permission.Microphone);
}
#endif
}

#region Text to Speech

public void StartSpeaking(string message)
{
    TextToSpeech.Instance.StartSpeak(message);
}

public void StopSpeaking()
{
    TextToSpeech.Instance.StopSpeak();
}

void OnSpeakStart()
{
    Debug.Log("Talking Start...");
}

void OnSpeakStop()
{
    Debug.Log("Talking stopped...");
}    

#endregion

#region Speech to Text

public void StartListening(string message)
{
    SpeechToText.Instance.StartRecording();
    
}

public void StopListening()
{
    SpeechToText.Instance.StopRecording();
}

void OnFinalSpeechResult(string result)
{
    uiTtext.text = resul;
}

void OnPartialSpeechResult(string result)
{
    uiText.text = result;
}    

#endregion    

void Setup(string code)
{
    TextToSpeech.Instance.Setting(code, 1, 1);
    SpeechToText.Instance.Setting(code);
}

}
`

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions