Você está na página 1de 8

Programa que controla tela de celular

Transformar áudio em texto

https://www.hashtagtreinamentos.com/reconhecimento-de-fala-em-python?
gad=1&gclid=CjwKCAjwgZCoBhBnEiwAz35Rwr_LmMHeXPFioDhftIAE-
91pd4HGFrtQHTgT742OJMEChiPs-ncPuxoCU1oQAvD_BwE

https://learn.microsoft.com/pt-br/windows/mixed-reality/develop/unity/voice-input-in-unity

Verificar texto

Executar
Exemplo de programa no unity

using UnityEngine;

using UnityEngine.UI;

using UnityEngine.Windows.Speech;

public class VoiceRecognition : MonoBehaviour

private KeywordRecognizer keywordRecognizer;

private Dictionary<string, System.Action> actions = new Dictionary<string, System.Action>();

public Text feedbackText; // Um objeto de texto na interface para dar feedback

private void Start()

// Adicione as frases que você deseja reconhecer e as ações correspondentes aqui

actions.Add("mover para frente", MoveForward);

actions.Add("virar à direita", TurnRight);

actions.Add("virar à esquerda", TurnLeft);

keywordRecognizer = new KeywordRecognizer(actions.Keys.ToArray());

keywordRecognizer.OnPhraseRecognized += RecognizedSpeech;

keywordRecognizer.Start();

feedbackText.text = "Fale um comando: 'mover para frente', 'virar à direita', 'virar à


esquerda'";

private void RecognizedSpeech(PhraseRecognizedEventArgs speech)

System.Action action;

if (actions.TryGetValue(speech.text, out action))


{

action.Invoke();

else

feedbackText.text = "Comando não reconhecido: " + speech.text;

private void MoveForward()

feedbackText.text = "Comando para mover para frente reconhecido!";

// Adicione aqui o código para mover um objeto para frente

private void TurnRight()

feedbackText.text = "Comando para virar à direita reconhecido!";

// Adicione aqui o código para virar um objeto à direita

private void TurnLeft()

feedbackText.text = "Comando para virar à esquerda reconhecido!";

// Adicione aqui o código para virar um objeto à esquerda

}
EXEMPLO DE PROGRAMA PARA
CLICAR NA TELA
Para criar um programa Unity que simule um clique em um local específico da tela, você pode
usar a função `Input.simulateMousePress` junto com o método `Coroutine`. Aqui está um
exemplo de como fazer isso:

```c#

using System.Collections;

using UnityEngine;

public class ClickSimulator : MonoBehaviour

public Vector2 clickPosition = new Vector2(400, 300); // Posição do clique (coordenadas da


tela)

private void Start()

// Inicia a simulação do clique em um local específico após 3 segundos

StartCoroutine(SimulateClick());

private IEnumerator SimulateClick()

yield return new WaitForSeconds(3f); // Espera por 3 segundos

// Converte as coordenadas da tela para a posição do mouse no jogo

Vector3 worldClickPosition = Camera.main.ScreenToWorldPoint(new


Vector3(clickPosition.x, clickPosition.y, 10f));

// Simula o clique no local especificado


Input.simulateMousePress(0); // 0 representa o botão esquerdo do mouse

// Aguarda um quadro

yield return null;

// Simula o movimento do mouse até a posição do clique

Input.simulateMouseMove(worldClickPosition);

// Aguarda um quadro

yield return null;

// Simula a liberação do botão do mouse

Input.simulateMouseRelease(0);

```

Neste exemplo:

1. Definimos a variável `clickPosition` para armazenar as coordenadas do local onde queremos


simular o clique (na tela).

2. No método `Start`, usamos `StartCoroutine` para aguardar 3 segundos antes de iniciar a


simulação do clique.

3. Dentro da rotina `SimulateClick`, convertemos as coordenadas da tela para as coordenadas


do mundo do jogo usando `Camera.main.ScreenToWorldPoint`.

4. Em seguida, usamos as funções `Input.simulateMousePress`, `Input.simulateMouseMove`, e


`Input.simulateMouseRelease` para simular o clique no local especificado.

5. Aguardamos um quadro entre cada simulação para que a simulação seja executada
corretamente.
Este código fará com que um clique seja simulado na posição especificada após um atraso de 3
segundos a partir do início do jogo. Você pode ajustar as coordenadas em `clickPosition` para
controlar onde o clique será simulado na tela. Certifique-se de que a câmera esteja
configurada corretamente para corresponder à posição do clique.

Para criar um programa Unity que simule dois cliques em um local específico da tela de um
celular, você pode usar coroutines e a função `Input.simulateMousePress`. Aqui está um
exemplo de como fazer isso:

```c#

using System.Collections;

using UnityEngine;

public class DoubleClickSimulator : MonoBehaviour

public Vector2 clickPosition = new Vector2(400, 300); // Posição do clique (coordenadas da


tela)

private void Start()

// Inicia a simulação do clique duplo em um local específico após 3 segundos

StartCoroutine(SimulateDoubleClick());

private IEnumerator SimulateDoubleClick()

yield return new WaitForSeconds(3f); // Espera por 3 segundos

// Converte as coordenadas da tela para a posição do mouse no jogo

Vector3 worldClickPosition = Camera.main.ScreenToWorldPoint(new


Vector3(clickPosition.x, clickPosition.y, 10f));

// Simula o primeiro clique no local especificado


Input.simulateMousePress(0); // 0 representa o botão esquerdo do mouse

// Aguarda um quadro

yield return null;

// Simula o movimento do mouse até a posição do clique

Input.simulateMouseMove(worldClickPosition);

// Aguarda um quadro

yield return null;

// Simula a liberação do botão do mouse

Input.simulateMouseRelease(0);

// Aguarda um curto intervalo de tempo

yield return new WaitForSeconds(0.5f);

// Simula o segundo clique no mesmo local

Input.simulateMousePress(0);

yield return null;

Input.simulateMouseMove(worldClickPosition);

yield return null;

Input.simulateMouseRelease(0);

```

Neste exemplo:

1. Definimos a variável `clickPosition` para armazenar as coordenadas do local onde queremos


simular o clique (na tela).
2. No método `Start`, usamos `StartCoroutine` para aguardar 3 segundos antes de iniciar a
simulação do clique duplo.

3. Dentro da rotina `SimulateDoubleClick`, convertemos as coordenadas da tela para as


coordenadas do mundo do jogo usando `Camera.main.ScreenToWorldPoint`.

4. Simulamos o primeiro clique no local especificado e, em seguida, aguardamos um quadro.

5. Depois, simulamos o movimento do mouse até a posição do clique e aguardamos


novamente um quadro.

6. Por fim, simulamos a liberação do botão do mouse.

7. Aguardamos um curto intervalo de tempo (0.5 segundos) e, em seguida, simulamos o


segundo clique no mesmo local, seguindo o mesmo processo.

Este código fará com que dois cliques sejam simulados na posição especificada após um atraso
de 3 segundos a partir do início do jogo. Você pode ajustar as coordenadas em `clickPosition`
para controlar onde os cliques serão simulados na tela. Certifique-se de que a câmera esteja
configurada corretamente para corresponder à posição do clique.

Você também pode gostar