{ "id": "161081", "key": "TIMOB-23523", "fields": { "issuetype": { "id": "2", "description": "A new feature of the product, which has yet to be developed.", "name": "New Feature", "subtask": false }, "project": { "id": "10153", "key": "TIMOB", "name": "Titanium SDK/CLI", "projectCategory": { "id": "10100", "description": "Titanium and related SDKs used in application development", "name": "Client" } }, "fixVersions": [], "resolution": { "id": "10000", "description": "", "name": "Done" }, "resolutiondate": "2016-12-11T12:56:00.000+0000", "created": "2016-06-14T19:57:30.000+0000", "priority": { "name": "Medium", "id": "3" }, "labels": [ "ios10" ], "versions": [], "issuelinks": [], "assignee": { "name": "hknoechel", "key": "hansknoechel", "displayName": "Hans Knöchel", "active": true, "timeZone": "Europe/Berlin" }, "updated": "2017-03-16T21:41:05.000+0000", "status": { "description": "The issue is considered finished, the resolution is correct. Issues which are closed can be reopened.", "name": "Closed", "id": "6", "statusCategory": { "id": 3, "key": "done", "colorName": "green", "name": "Done" } }, "components": [ { "id": "10202", "name": "Android", "description": "Android Platform" }, { "id": "10206", "name": "iOS", "description": "iOS Platform" } ], "description": "iOS 10 exposes APIs to parse the spoken language and return it as a textual output. We can support both local and remote URLs as well as real-time speech-recognition using the microphone.\r\n\r\nProposed API:\r\n{code:javascript}\r\nvar Speech = require(\"ti.speech\");\r\nvar speechRecognizer = Speech.createSpeechRecognizer({\r\n type: Speech.RECOGNITION_TYPE_URL,\r\n locale: \"en_US\"\r\n});\r\n\r\nspeechRecognizer.addEventListener(\"error\", function(e) {\r\n Ti.API.error(\"Speech recognition failed: \" + e.error);\r\n});\r\n\r\nspeechRecognizer.addEventListener(\"progress\", function(e) {\r\n Ti.API.error(\"New Speech recognition progress: \" + e.result);\r\n Ti.API.warn(\"Number of transcriptions: \" + e.transcriptions.length);\r\n});\r\n\r\nspeechRecognizer.addEventListener(\"success\", function(e) {\r\n Ti.API.error(\"Speech recognition completed: \" + e.result);\r\n});\r\n\r\nspeechRecognizer.parse();\r\n{code}", "attachment": [], "flagged": false, "summary": "iOS10: Support Speech Recognition", "creator": { "name": "hknoechel", "key": "hansknoechel", "displayName": "Hans Knöchel", "active": true, "timeZone": "Europe/Berlin" }, "subtasks": [], "reporter": { "name": "hknoechel", "key": "hansknoechel", "displayName": "Hans Knöchel", "active": true, "timeZone": "Europe/Berlin" }, "environment": null, "comment": { "comments": [ { "id": "388762", "author": { "name": "hknoechel", "key": "hansknoechel", "displayName": "Hans Knöchel", "active": true, "timeZone": "Europe/Berlin" }, "body": "Thanks to [~bgrantges@appcelerator.com], Android also have a [SpeechRecognizer|https://developer.android.com/reference/android/speech/SpeechRecognizer.html] class we could use and actually the mapping could be achieved pretty good, since they both have progress events and a similar error handling. Thats why it should be done with Hyperloop - either as a module or as an example. ", "updateAuthor": { "name": "hknoechel", "key": "hansknoechel", "displayName": "Hans Knöchel", "active": true, "timeZone": "Europe/Berlin" }, "created": "2016-06-21T18:18:02.000+0000", "updated": "2016-06-21T18:18:21.000+0000" }, { "id": "403134", "author": { "name": "hknoechel", "key": "hansknoechel", "displayName": "Hans Knöchel", "active": true, "timeZone": "Europe/Berlin" }, "body": "I made an open-source Hyperloop module that exposes this functionality: https://github.com/hansemannn/ti.speech", "updateAuthor": { "name": "hknoechel", "key": "hansknoechel", "displayName": "Hans Knöchel", "active": true, "timeZone": "Europe/Berlin" }, "created": "2016-12-11T12:55:48.000+0000", "updated": "2016-12-11T12:55:48.000+0000" }, { "id": "413157", "author": { "name": "lmorris", "key": "lmorris", "displayName": "Lee Morris", "active": false, "timeZone": "America/Los_Angeles" }, "body": "Can confirm that this was done.", "updateAuthor": { "name": "lmorris", "key": "lmorris", "displayName": "Lee Morris", "active": false, "timeZone": "America/Los_Angeles" }, "created": "2017-03-16T21:41:05.000+0000", "updated": "2017-03-16T21:41:05.000+0000" } ], "maxResults": 3, "total": 3, "startAt": 0 } } }