cordova-plugin-iflyspeech
v0.9.2
Published
Cordova plugin to support mobile speech recognizer and synthesizer with iFlyTek voice cloud service
Downloads
15
Maintainers
Readme
cordova-plugin-iflyspeech
This plugin provides the ability to speech recognition and synthesis (over iFlytek voicecloud) on a device.
Installation
cordova plugin add com.rjfun.cordova.plugin.iflyspeech
Or,
cordova plugin add https://github.com/floatinghotpot/cordova-plugin-iflyspeech.git
Attentioin: You need apply an App Id and SDK from http://open.voicecloud.cn/.
Please replace:
- the iFlytek SDK files(ios/iflyMSC.framework and android/libs) with the version for your app.
- the SPEECH_APP_ID in ios/CDVSpeech.m and android/Speech.java
Supported Platforms
- Android
- iOS
Javascript APIs
addEventListener( event_name, your_callback );
removeEventListener( event_name );
syncContact(success, fail);
updateContact( names, success, fail);
updateUserWord( talbe_name, words, success, fail);
startListening(options, callback);
stopListening();
cancelListening();
startSpeaking( what_to_say, options );
pauseSpeaking();
resumeSpeaking();
stopSpeaking();
Events
SpeechBegin
SpeechEnd
SpeechCancel
SpeechResults
SpeechError
VolumeChanged
SpeakBegin
SpeakPaused
SpeakResumed
SpeakCancel
SpeakCompleted
SpeakProgress
BufferProgress
Quick Start
Copy the example code under test/ to your www/, and build to play.
cordova create testspeech com.rjfun.testspeech TestSpeech
cd testspeech
cordova platform add android
cordova platform add ios
cordova plugin add https://github.com/floatinghotpot/cordova-plugin-iflyspeech.git
rm -r www/*
cp -r plugins/com.rjfun.cordova.plugin.iflyspeech/test/* www/
cordova prepare; cordova run android; cordova run ios;
// or import the project into Xcode or eclipse
Example Code
function onLoad() {
document.addEventListener("deviceready", onDeviceReady, false);
}
function onDeviceReady() {
$('div#status').html( 'speech engine ready' );
}
function startReading() {
var text = $('textarea#read').val();
navigator.speech.startSpeaking( text, {voice_name: 'xiaoyan'} );
}
function stopReading() {
navigator.speech.stopSpeaking();
}
function startListening() {
$('div#status').html( 'Listening, please speak.' );
navigator.speech.startListening({language:'zh_cn', accent:'mandarin'} function(str) {
// this is what the device hear and understand
$('textarea#read').val( str );
});
}
function stopListening() {
navigator.speech.stopListening();
}
Credit
This plugin code was based on project of Lu Huiguo. His code is very good but not tuned to work. It seems that he is not very active, so I start a new repository.