
Research
Security News
Lazarus Strikes npm Again with New Wave of Malicious Packages
The Socket Research Team has discovered six new malicious npm packages linked to North Korea’s Lazarus Group, designed to steal credentials and deploy backdoors.
cordova-plugin-speechrecognition
Advanced tools
This is a cordova plugin for Speech Recognition.
cordova plugin add cordova-plugin-speechrecognition
This plugin requires internet connection.
window.plugins.speechRecognition.isRecognitionAvailable(
Function successCallback, Function errorCallback)
Result of success callback is a Boolean
.
let options = {
String language,
Number matches,
String prompt, // Android only
Boolean showPopup, // Android only
Boolean showPartial
}
window.plugins.speechRecognition.startListening(
Function successCallback, Function errorCallback, Object options)
This method has an options parameter with the following optional values:
language
{String} used language for recognition (default "en-US"
)matches
{Number} number of return matches (default 5
, on iOS: maximum number of matches)prompt
{String} displayed prompt of listener popup window (default ""
, Android only)showPopup
{Boolean} display listener popup window with prompt (default true
, Android only)showPartial
{Boolean} Allow partial results to be returned (default false
)Result of success callback is an Array
of recognized terms.
There is a difference between Android and iOS platforms. On Android speech recognition stops when the speaker finishes speaking (at end of sentence). On iOS the user has to stop manually the recognition process by calling stopListening() method.
If you set showPartial
to true
on iOS the success callback will be called multiple times until stopListening()
called.
window.plugins.speechRecognition.stopListening(
Function successCallback, Function errorCallback)
Stop the recognition process. No return value.
window.plugins.speechRecognition.getSupportedLanguages(
Function successCallback, Function errorCallback)
Result of success callback is an Array
of supported languages.
// getSupportedLanguages result on Android:
let supportedLanguagesAndroid =
["af-ZA", "id-ID", "ms-MY", "ca-ES", "cs-CZ", "da-DK", "de-DE", "en-AU", "en-CA",
"en-001", "en-IN", "en-IE", "en-NZ", "en-PH", "en-ZA", "en-GB", "en-US", "es-AR",
"es-BO", "es-CL", "es-CO", "es-CR", "es-EC", "es-US", "es-SV", "es-ES", "es-GT",
"es-HN", "es-MX", "es-NI", "es-PA", "es-PY", "es-PE", "es-PR", "es-DO", "es-UY",
"es-VE", "eu-ES", "fil-PH", "fr-FR", "gl-ES", "hr-HR", "zu-ZA", "is-IS", "it-IT",
"lt-LT", "hu-HU", "nl-NL", "nb-NO", "pl-PL", "pt-BR", "pt-PT", "ro-RO", "sl-SI",
"sk-SK", "fi-FI", "sv-SE", "vi-VN", "tr-TR", "el-GR", "bg-BG", "ru-RU", "sr-RS",
"uk-UA", "he-IL", "ar-IL", "ar-JO", "ar-AE", "ar-BH", "ar-DZ", "ar-SA", "ar-KW",
"ar-MA", "ar-TN", "ar-OM", "ar-PS", "ar-QA", "ar-LB", "ar-EG", "fa-IR", "hi-IN",
"th-TH", "ko-KR", "cmn-Hans-CN", "cmn-Hans-HK", "cmn-Hant-TW", "yue-Hant-HK",
"ja-JP"];
// getSupportedLanguages result on iOS:
let supportedLanguagesIOS =
["nl-NL","es-MX","zh-TW","fr-FR","it-IT","vi-VN","en-ZA","ca-ES","es-CL","ko-KR",
"ro-RO","fr-CH","en-PH","en-CA","en-SG","en-IN","en-NZ","it-CH","fr-CA","da-DK",
"de-AT","pt-BR","yue-CN","zh-CN","sv-SE","es-ES","ar-SA","hu-HU","fr-BE","en-GB",
"ja-JP","zh-HK","fi-FI","tr-TR","nb-NO","en-ID","en-SA","pl-PL","id-ID","ms-MY",
"el-GR","cs-CZ","hr-HR","en-AE","he-IL","ru-RU","de-CH","en-AU","de-DE","nl-BE",
"th-TH","pt-PT","sk-SK","en-US","en-IE","es-CO","uk-UA","es-US"];
window.plugins.speechRecognition.hasPermission(
Function successCallback, Function errorCallback)
Result of success callback is a Boolean
.
window.plugins.speechRecognition.requestPermission(
Function successCallback, Function errorCallback)
This method requests access permission to system resources if it was not granted before.
import { SpeechRecognition } from '@ionic-native/speech-recognition';
constructor(private speechRecognition: SpeechRecognition) { }
...
// Check feature available
SpeechRecognition.isRecognitionAvailable()
.then((available: boolean) => console.log(available))
// Start the recognition process
SpeechRecognition.startListening(options)
.subscribe(
(matches: Array<string>) => console.log(matches),
(onerror) => console.log('error:', onerror)
)
// Stop the recognition process (iOS only)
SpeechRecognition.stopListening()
// Get the list of supported languages
SpeechRecognition.getSupportedLanguages()
.then(
(languages: Array<string>) => console.log(languages),
(error) => console.log(error)
)
// Check permission
SpeechRecognition.hasPermission()
.then((hasPermission: boolean) => console.log(hasPermission))
// Request permissions
SpeechRecognition.requestPermission()
.then(
() => console.log('Granted'),
() => console.log('Denied')
)
Required: ionic-native/speech-recognition
See Ionic Native documentation.
<android:launchMode>
must not be singleInstance
. It can be singleTask
, standard
, singleTop
.It uses Speech API of Google. The Android public API recognizes when the speech is over and automatically begins the parsing process. The delay of result depends on the network quality.
The Speech APIs perform speech recognition by communicating with Apple's servers or using an on-device speech recognizer, if available.
Because your app may need to connect to the servers to perform recognition, it's essential that you respect the privacy of your users and treat their utterances as sensitive data. For this reason, you must get the user's explicit permission before you initiate speech recognition.
The plugin works in AVAudioSessionCategoryPlayAndRecord mode to enable playing audio.
cordova-plugin-speechrecognition is licensed under the MIT Open Source license. For more information, see the LICENSE file in this repository.
v1.2.0
stopListening
[by Simone Compagnone]FAQs
Cordova Plugin for Speech Recognition
The npm package cordova-plugin-speechrecognition receives a total of 1,016 weekly downloads. As such, cordova-plugin-speechrecognition popularity was classified as popular.
We found that cordova-plugin-speechrecognition demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Research
Security News
The Socket Research Team has discovered six new malicious npm packages linked to North Korea’s Lazarus Group, designed to steal credentials and deploy backdoors.
Security News
Socket CEO Feross Aboukhadijeh discusses the open web, open source security, and how Socket tackles software supply chain attacks on The Pair Program podcast.
Security News
Opengrep continues building momentum with the alpha release of its Playground tool, demonstrating the project's rapid evolution just two months after its initial launch.