воскресенье, 10 февраля 2013 г.

получить handle строки ввода

startVoiceRecognitionActivity();

if (v.getId() == R.id.speak_button) {

public void onClick(View v) {

* Handle the click on the start recognition button.

Полученный результат преобразуем из массива в строку (получить строку сразу оказывается невозможно) и выводим в наш TextEdit.

Т.е. если возможности для записи нету, то и кнопку делаем неактивной, иначе по клику вызываем звукозапись.

speakButton.setText("Recognizer not present");

speakButton.setEnabled(false);

speakButton.setOnClickListener(this);

if (activities.size() != 0) {

new Intent(RecognizerIntent.ACTION_RECOGNIZE_SPEECH), 0);

List activities = pm.queryIntentActivities(

PackageManager pm = getPackageManager();

Для начала стоит проверить есть ли возможность записи звука на устройстве. Для этого предлагается выполнить такой код:

Переходим к нашему .java файлу. Основная часть кода взята из Google-"мурзилки" )

Создаем новый проект. В layout добавляем кнопку и TextEdit на несколько строк (ну а если мы захотим длинную фразу изречь =) ). Для данного проекта очень важно не забыть выставить права для приложения. Оно должно иметь права на запись звуков и на доступ в интернет. Для этого в AndroidManifest вписываем эти две строки:

Итак, что у нас есть ? Предположим есть поле для ввода текста и есть кнопка. По нажатии на кнопку, поле должно наполняться письменным содержанием нашего словесного изречения =)

У меня давно зародилась идея искать вдохновение и темы для статей в поисковых запросах по которым люди попали на мой блог. Полистав очередной список запросов за сегодня, я наткнулся на фразу "распознавание речи". А ведь действительно - интересная тема. Наверняка Google сделали удобный и простой механизм для работы с их распозновалкой ) Немного поковыряв их пример к api и счистив ржавчину с мозгов, я произвел на свет простую программку для ознакомления )

Сегодня я созрел написать... Да - я очень давно не писал, и пишу очень редко. Я плохой =)

Распознаем речь в Android | ONdroid

Комментариев нет:

Отправить комментарий