MVSpeechSynthesizer
Effective way to use an AVSpeechSynthesizer
Why MVSpeechSynthesizer?
1. Simple way to integrate the AVSpeechsynthesizer into your app.
2. Instead of delgate method it provides block methods.
3. Apart from simple usage it can auto detect the language of given string and read.
4. It can higlight currently reading word.
5. It also throw currently reading word
6. It can auto scroll the page if once reached bottom of the text box.
7. It can read all languages which is supported by AVSpeechSynthesizer
8. It can list all supported langauages and their country name
MVSpeechSynthesizer
Who need this?
1. Whoever developing kids reading books
2. Whoever wants to read their EULA or privacy policy to their user
3. Whoever developing apps with voice navigation
4. Whoever wants to integrate reading functionality to thier app
Pod Installation
Add the following to your CocoaPods Podfile
pod 'MVSpeechSynthesizer'
Apps Using this control
Secure Notes - Lock your important notes
Let me know if any other using this control(Just drop a mail)
Future enhancement
1. To read any webpage with highlighted text
2. Gives different voices(female and male)
How to use this?
For changing the language use speechLanguage object
For passing the read string use speechString object
For getting supported langauges call supportedLanguages function
for changing the string just copy some other string and paste on text box.
For choosing language just press language button you will navigate to the list of languages page their you can choose language
For enable and disable the highlight use isHighlight object
For changing speech voice uRate and pitchMultiplier objects
Just initialize the MVSpeechsynthesizer class and do the following steps,
MVSpeechSynthesizer *mvSpeech=[MVSpeechSynthesizer sharedSyntheSize];//Initialize the class
mvSpeech.higlightColor=[UIColor yellowColor];//Higlght backgroundcolor
mvSpeech.isTextHiglight=YES;//If you want to highlight set yes, othgerwise set no.
mvSpeech.speechString=//Pass string which is need to read.
mvSpeech.inputView=_helpTextView;//Pass the input view which carries the string.
[mvSpeech startRead];//Initialize the read function.
mvSpeech.speechFinishBlock=^(AVSpeechSynthesizer *synthesizer, AVSpeechUtterance *utterence){
//It will call when read action finished.
};
Let me know if any issues?