Опубликован: 02.08.2013 | Уровень: для всех | Доступ: платный
Самостоятельная работа 17:

Распознавание и синтез речи, работа с камерой

Фотоприложения

Фотоприложения (lens app) – это новая возможность Windows Phone 8. Эти приложения доступны как для самостоятельного запуска, так и для запуска из интерфейса камеры. В интерфейсе камеры, имеется кнопка Фотоприложения (Lenses), нажатие на которую вызывает список таких приложений. Англоязычное название таких приложений, "lens" недвусмысленно указывает на то, что их можно сравнить со сменными объективами к фотоаппарату. Меняем объектив – получаем новые возможности.

Фотоприложение может напрямую работать с камерой, то есть получать данные с камеры в режиме реального времени, настраивать камеру, выполнять фокусировку, получать снимки, тут же обрабатывать их. Такие приложения используют API Microsoft.Devices.PhotoCamera (http://msdn.microsoft.com/en-us/library/windowsphone/develop/microsoft.devices.photocamera%28v=vs.105%29.aspx) и Windows.Phone.Media.Capture.PhotoCaptureDevice (http://msdn.microsoft.com/en-us/library/windowsphone/develop/windows.phone.media.capture.photocapturedevice%28v=vs.105%29.aspx).

Для того, чтобы приложение можно было вызвать из интерфейса камеры телефона, его нужно зарегистрировать в качестве фотоприложения, добавив в манифест (WMAppManifest.xml), после элемента Tokens, описание расширения, которое реализует приложение:

<Extension ExtensionName="Camera_Capture_App" 
           ConsumerID="{5B04B775-356B-4AA0-AAF8-6491FFEA5631}"
           TaskID="_default" />

Обратите внимание на то, что графический редактор манифеста не поддерживает добавление сведений о расширении, поэтому данное описание нужно добавлять , используя редактор кода, который можно вызывать, щёлкнув по файлу манифеста правой кнопкой мыши и выбрав в появившемся окне команду Перейти к коду, рис. 49.2.

Объявление расширения фотоприложения в манифесте

увеличить изображение
Рис. 49.2. Объявление расширения фотоприложения в манифесте

Здесь открыт пример Basic Lens sample (Базовое фотоприложение), который можно скачать по адресу http://code.msdn.microsoft.com/Basic-Lens-sample-359fda1b.

Для того чтобы получить дополнительные сведения по работе с камерой и фотоснимками, обратитесь к разделу документации "Camera and photos for Windows Phone" ("Камера и фотоснимки для Windows Phone"), http://msdn.microsoft.com/en-us/library/windowsphone/develop/hh202973%28v=vs.105%29.aspx.

Кроме того, если ваше приложение подразумевает работу с камерой, обратите внимание на пример "Преобразование потока камеры в байты", http://code.msdn.microsoft.com/CSWP8CameraFeedByteConverte-979b13f0.

Выводы

В этой лабораторной работе мы рассмотрели работу с системой распознавания и синтеза речи в Windows Phone. Эта система позволяет расширить возможности приложений по взаимодействию с пользователем. Кроме того, мы ознакомились с концепцией фотоприложений.

Задание

Рассмотрите возможность интеграции в приложение, которое вы разрабатываете, функций распознавания и синтеза речи, проанализируйте сценарии работы с приложением, в которых эти возможности наиболее полезны. Если вы разрабатываете приложение для работы с фотографиями, рассмотрите его реализацию с использованием функциональности фотоприложения. Подготовьте отчёт.

Дополнительные материалы

К данной лекции подготовлено видеоприложение и демонстрационный программный проект.

Вася Пупкин
Вася Пупкин
Россия, с. Оймякон
антон Антонкин
антон Антонкин
Россия

( ! ) Warning: include_once(./includes/unicode.entities.inc) [<a href='function.include-once'>function.include-once</a>]: failed to open stream: No such file or directory in /.2/var_www_new.intuit.ru/htdocs/includes/unicode.inc on line 340
Call Stack
#TimeMemoryFunctionLocation
16.3360104694720watchdog( )../bootstrap.inc:0
26.3363104697224module_invoke( )../bootstrap.inc:967
36.3363104699080call_user_func_array ( )../module.inc:462
46.3363104699416devel_watchdog( )../module.inc:462
56.3364104700264decode_entities( )../devel.module:382
66.3365104702184drupal_error_handler( )../devel.module:340
76.3365104705808watchdog( )../common.inc:663
86.3365104707912module_invoke( )../bootstrap.inc:967
96.3365104709768call_user_func_array ( )../module.inc:462
106.3365104710104devel_watchdog( )../module.inc:462
116.3366104710800decode_entities( )../devel.module:382

( ! ) Warning: include_once() [<a href='function.include'>function.include</a>]: Failed opening './includes/unicode.entities.inc' for inclusion (include_path='.:/usr/local/zend/var/libraries/Zend_Framework_1/default/library:/usr/local/zend/share/pear') in /.2/var_www_new.intuit.ru/htdocs/includes/unicode.inc on line 340
Call Stack
#TimeMemoryFunctionLocation
16.3360104694720watchdog( )../bootstrap.inc:0
26.3363104697224module_invoke( )../bootstrap.inc:967
36.3363104699080call_user_func_array ( )../module.inc:462
46.3363104699416devel_watchdog( )../module.inc:462
56.3364104700264decode_entities( )../devel.module:382
66.3365104702184drupal_error_handler( )../devel.module:340
76.3365104705808watchdog( )../common.inc:663
86.3365104707912module_invoke( )../bootstrap.inc:967
96.3365104709768call_user_func_array ( )../module.inc:462
106.3365104710104devel_watchdog( )../module.inc:462
116.3366104710800decode_entities( )../devel.module:382

( ! ) Warning: include_once(./includes/unicode.entities.inc) [<a href='function.include-once'>function.include-once</a>]: failed to open stream: No such file or directory in /.2/var_www_new.intuit.ru/htdocs/includes/unicode.inc on line 340
Call Stack
#TimeMemoryFunctionLocation
16.3360104694720watchdog( )../bootstrap.inc:0
26.3363104697224module_invoke( )../bootstrap.inc:967
36.3363104699080call_user_func_array ( )../module.inc:462
46.3363104699416devel_watchdog( )../module.inc:462
56.3364104700264decode_entities( )../devel.module:382
66.3372104702376drupal_error_handler( )../devel.module:340
76.3372104706064watchdog( )../common.inc:663
86.3372104708168module_invoke( )../bootstrap.inc:967
96.3372104710024call_user_func_array ( )../module.inc:462
106.3372104710360devel_watchdog( )../module.inc:462
116.3373104711136decode_entities( )../devel.module:382

( ! ) Warning: include_once() [<a href='function.include'>function.include</a>]: Failed opening './includes/unicode.entities.inc' for inclusion (include_path='.:/usr/local/zend/var/libraries/Zend_Framework_1/default/library:/usr/local/zend/share/pear') in /.2/var_www_new.intuit.ru/htdocs/includes/unicode.inc on line 340
Call Stack
#TimeMemoryFunctionLocation
16.3360104694720watchdog( )../bootstrap.inc:0
26.3363104697224module_invoke( )../bootstrap.inc:967
36.3363104699080call_user_func_array ( )../module.inc:462
46.3363104699416devel_watchdog( )../module.inc:462
56.3364104700264decode_entities( )../devel.module:382
66.3372104702376drupal_error_handler( )../devel.module:340
76.3372104706064watchdog( )../common.inc:663
86.3372104708168module_invoke( )../bootstrap.inc:967
96.3372104710024call_user_func_array ( )../module.inc:462
106.3372104710360devel_watchdog( )../module.inc:462
116.3373104711136decode_entities( )../devel.module:382

( ! ) Warning: include_once(./includes/unicode.entities.inc) [<a href='function.include-once'>function.include-once</a>]: failed to open stream: No such file or directory in /.2/var_www_new.intuit.ru/htdocs/includes/unicode.inc on line 340
Call Stack
#TimeMemoryFunctionLocation
16.3378104695264watchdog( )../bootstrap.inc:0
26.3378104697368module_invoke( )../bootstrap.inc:967
36.3378104699224call_user_func_array ( )../module.inc:462
46.3378104699560devel_watchdog( )../module.inc:462
56.3378104700264decode_entities( )../devel.module:382
66.3379104702184drupal_error_handler( )../devel.module:340
76.3379104705792watchdog( )../common.inc:663
86.3379104707896module_invoke( )../bootstrap.inc:967
96.3379104709752call_user_func_array ( )../module.inc:462
106.3379104710088devel_watchdog( )../module.inc:462
116.3379104710784decode_entities( )../devel.module:382

( ! ) Warning: include_once() [<a href='function.include'>function.include</a>]: Failed opening './includes/unicode.entities.inc' for inclusion (include_path='.:/usr/local/zend/var/libraries/Zend_Framework_1/default/library:/usr/local/zend/share/pear') in /.2/var_www_new.intuit.ru/htdocs/includes/unicode.inc on line 340
Call Stack
#TimeMemoryFunctionLocation
16.3378104695264watchdog( )../bootstrap.inc:0
26.3378104697368module_invoke( )../bootstrap.inc:967
36.3378104699224call_user_func_array ( )../module.inc:462
46.3378104699560devel_watchdog( )../module.inc:462
56.3378104700264decode_entities( )../devel.module:382
66.3379104702184drupal_error_handler( )../devel.module:340
76.3379104705792watchdog( )../common.inc:663
86.3379104707896module_invoke( )../bootstrap.inc:967
96.3379104709752call_user_func_array ( )../module.inc:462
106.3379104710088devel_watchdog( )../module.inc:462
116.3379104710784decode_entities( )../devel.module:382

( ! ) Warning: include_once(./includes/unicode.entities.inc) [<a href='function.include-once'>function.include-once</a>]: failed to open stream: No such file or directory in /.2/var_www_new.intuit.ru/htdocs/includes/unicode.inc on line 340
Call Stack
#TimeMemoryFunctionLocation
16.3378104695264watchdog( )../bootstrap.inc:0
26.3378104697368module_invoke( )../bootstrap.inc:967
36.3378104699224call_user_func_array ( )../module.inc:462
46.3378104699560devel_watchdog( )../module.inc:462
56.3378104700264decode_entities( )../devel.module:382
66.3386104702376drupal_error_handler( )../devel.module:340
76.3386104706064watchdog( )../common.inc:663
86.3386104708168module_invoke( )../bootstrap.inc:967
96.3386104710024call_user_func_array ( )../module.inc:462
106.3386104710360devel_watchdog( )../module.inc:462
116.3386104711136decode_entities( )../devel.module:382

( ! ) Warning: include_once() [<a href='function.include'>function.include</a>]: Failed opening './includes/unicode.entities.inc' for inclusion (include_path='.:/usr/local/zend/var/libraries/Zend_Framework_1/default/library:/usr/local/zend/share/pear') in /.2/var_www_new.intuit.ru/htdocs/includes/unicode.inc on line 340
Call Stack
#TimeMemoryFunctionLocation
16.3378104695264watchdog( )../bootstrap.inc:0
26.3378104697368module_invoke( )../bootstrap.inc:967
36.3378104699224call_user_func_array ( )../module.inc:462
46.3378104699560devel_watchdog( )../module.inc:462
56.3378104700264decode_entities( )../devel.module:382
66.3386104702376drupal_error_handler( )../devel.module:340
76.3386104706064watchdog( )../common.inc:663
86.3386104708168module_invoke( )../bootstrap.inc:967
96.3386104710024call_user_func_array ( )../module.inc:462
106.3386104710360devel_watchdog( )../module.inc:462
116.3386104711136decode_entities( )../devel.module:382