Как я могу интегрировать распознавание речи с моим приложением камеры? - PullRequest
2 голосов
/ 19 ноября 2011

Я пытаюсь интегрировать распознавание речи в свое приложение камеры, более конкретно, я хочу, чтобы моя камера открылась, и вы нажимаете кнопку «Слушать», и она прослушивает слово «снимок», а затем делает снимок.У меня уже есть кнопка в приложении, она просто добавляет к ней голосовую часть.Как вы получаете его для проверки конкретных слов?

Ответы [ 3 ]

0 голосов
/ 19 ноября 2011

Это показывает полное использование TTS и распознавания речи

https://github.com/gmilette/Say-the-Magic-Word-

Также вам необходимо следующее:

Простой способ сопоставления - использовать этот цикл:

protected void receiveWhatWasHeard(List<String> heard,
        )
{
    WordDictionary command = new WordDictionary("Add");
    for (String said : heard)
    {
        if (command.isIn(said.split("\\s")))
        {
            Log.d(TAG, "heard add");
        }
    }
}

и этот класс:

public class WordDictionary
{
    private Set<String> words;

    public WordDictionary(String... wordsIn)
    {
        this(Arrays.asList(wordsIn));
    }

    public WordDictionary(List<String> wordsIn)
    {
        words = new LinkedHashSet<String>(wordsIn);
    }

    public Set<String> getWords()
    {
        return words;
    }

    public boolean isIn(String word)
    {
        return words.contains(word);
    }

    public boolean isIn(String [] wordsIn)
    {
        boolean wordIn = false;
        for (String word : wordsIn)
        {
            if (isIn(word))
            {
                wordIn = true;
                break;
            }
        }
        return wordIn;
    }

}

И ваша деятельность нуждается в этом:

@Override
    protected void
            onActivityResult(int requestCode, int resultCode, Intent data)
    {
        if (requestCode == VOICE_RECOGNITION_REQUEST_CODE)
        {
            if (resultCode == RESULT_OK)
            {
                List<String> heard =
                        data.getStringArrayListExtra(RecognizerIntent.EXTRA_RESULTS);
                for (int i = 0; i < heard.size(); i++)
                {
                    Log.d(TAG, i + ": " + heard.get(i));
                }
                receiveWhatWasHeard(heard);
            } else
            {
//fail
            }
        }
        super.onActivityResult(requestCode, resultCode, data);
    }
0 голосов
/ 19 ноября 2011

Чтобы сделать фотографию, как только вы получите сигнал о том, что пользователь сказал «Привязать», вы должны заменить приложение «Камера». Вы можете посмотреть пример приложения предварительного просмотра камеры (в демоверсиях / графике API), чтобы увидеть, как отобразить изображение предварительного просмотра. А обзор класса Camera содержит подробную информацию о том, как на самом деле сделать снимок.

0 голосов
/ 19 ноября 2011

См. http://developer.android.com/resources/samples/ApiDemos/src/com/example/android/apis/app/VoiceRecognition.html Показывает, как добавить распознавание голоса в ваше приложение.http://developer.android.com/reference/android/speech/package-summary.html Этот пакет также полезен для справки.

...