SlideShare a Scribd company logo
1 of 32
Thinking “out of the box”Thinking “out of the box”
with Ionic Text To Speechwith Ionic Text To Speech
Eric James FloeEric James Floe
SoCal Code Camp 6/24/17SoCal Code Camp 6/24/17
Ionic Text To SpeechIonic Text To Speech
Why Angular?Why Angular?
Ionic Text To SpeechIonic Text To Speech
Why Angular?Why Angular?
Ionic Text To SpeechIonic Text To Speech
Why Angular?Why Angular?
Ionic Text To SpeechIonic Text To Speech
Why Angular?Why Angular?
Why Ionic?Why Ionic?
Ionic Text To SpeechIonic Text To Speech
Why Angular?Why Angular?
Why Ionic?Why Ionic?
Why Hybrid?Why Hybrid?
Ionic Text To SpeechIonic Text To Speech
Why Angular?Why Angular?
Why Ionic?Why Ionic?
Why Hybrid?Why Hybrid?
• Build and maintain one codebase while deploying toBuild and maintain one codebase while deploying to
numerous device platforms.numerous device platforms.
Ionic Text To SpeechIonic Text To Speech
Why Angular?Why Angular?
Why Ionic?Why Ionic?
Why Hybrid?Why Hybrid?
• Build and maintain one code base.Build and maintain one code base.
• Deploy to numerous device platforms.Deploy to numerous device platforms.
Why Native Device capabilities?Why Native Device capabilities?
Ionic Text To SpeechIonic Text To Speech
Why Angular?Why Angular?
Why Ionic?Why Ionic?
Why Hybrid?Why Hybrid?
• Build and maintain one code base.Build and maintain one code base.
• Deploy to numerous device platforms.Deploy to numerous device platforms.
Why Native Device capabilities?Why Native Device capabilities?
• Because they are cool and synergistically extend theBecause they are cool and synergistically extend the
functional reach of our applications!functional reach of our applications!
Ionic Text To SpeechIonic Text To Speech
Why Angular?Why Angular?
Why Ionic?Why Ionic?
Why Hybrid?Why Hybrid?
• Build and maintain one code base.Build and maintain one code base.
• Deploy to numerous device platforms.Deploy to numerous device platforms.
Why Native Device capabilities?Why Native Device capabilities?
• Because they are cool and synergistically extend theBecause they are cool and synergistically extend the
functional reach of our applications!functional reach of our applications!
• Want Proof? ... go to the docs:Want Proof? ... go to the docs:
http://ionicframework.com/docs/http://ionicframework.com/docs/
Ionic Text To SpeechIonic Text To Speech
Audio/Video Barcode Scanner
Beacons Bluetooth
Camera Contacts
DB Integration File Access
Fingerprint FTP
Geolocation Geofencing
Globalization Google Maps
Media Phone
SMS Social Media
Speech Recognition Text to Speech
Ionic Text To SpeechIonic Text To Speech
Install Ionic and its Dependencies
Install a web development IDEInstall a web development IDE
Install GITInstall GIT
Install Node.jsInstall Node.js
Install/Upgrade npmInstall/Upgrade npm
Install Angular CLIInstall Angular CLI
Install CordovaInstall Cordova
Install IonicInstall Ionic
Ionic Text To SpeechIonic Text To Speech
Demo Time!!!Demo Time!!!
Ionic Text To SpeechIonic Text To Speech
Create a new project:Create a new project:
• ionic start SoCalCodeCamp blank --v2ionic start SoCalCodeCamp blank --v2
Ionic Text To SpeechIonic Text To Speech
Create a new project:Create a new project:
• ionic start SoCalCodeCamp blank --v2ionic start SoCalCodeCamp blank --v2
CD into the new project:CD into the new project:
• cd SoCalCodeCampcd SoCalCodeCamp
Ionic Text To SpeechIonic Text To Speech
Create a new project:Create a new project:
• ionic start SoCalCodeCamp blank --v2ionic start SoCalCodeCamp blank --v2
CD into the new project:CD into the new project:
• CD SoCalCodeCampCD SoCalCodeCamp
Run the new project:Run the new project:
• ionic serveionic serve
• http://localhost:8100/http://localhost:8100/
Ionic Text To SpeechIonic Text To Speech
Create a new project:Create a new project:
• ionic start SoCalCodeCamp blank --v2ionic start SoCalCodeCamp blank --v2
CD into the new project:CD into the new project:
• CD SoCalCodeCampCD SoCalCodeCamp
Run the new project:Run the new project:
• ionic serveionic serve
• http://localhost:8100/http://localhost:8100/
Open the project in an IDE & review the code.Open the project in an IDE & review the code.
• Edit the title & saveEdit the title & save
Ionic Text To SpeechIonic Text To Speech
From the root directory add a Mobile Platform:From the root directory add a Mobile Platform:
• ionic platform add androidionic platform add android
Ionic Text To SpeechIonic Text To Speech
From the root directory add a Mobile Platform:From the root directory add a Mobile Platform:
• ionic platform add androidionic platform add android
Add the tts plugin to the project:Add the tts plugin to the project:
• cordova plugin add cordova-plugin-ttscordova plugin add cordova-plugin-tts
Ionic Text To SpeechIonic Text To Speech
From the root directory add a Mobile Platform:From the root directory add a Mobile Platform:
• ionic platform add androidionic platform add android
Add the tts plugin to the project:Add the tts plugin to the project:
• cordova plugin add cordova-plugin-ttscordova plugin add cordova-plugin-tts
Add the Ionic Native Package for Text To Speech:Add the Ionic Native Package for Text To Speech:
• npm install @ionic-native/text-to-speech --savenpm install @ionic-native/text-to-speech --save
Ionic Text To SpeechIonic Text To Speech
In the IDE open the src/app/app.module.ts and add theIn the IDE open the src/app/app.module.ts and add the
TextToSpeech import:TextToSpeech import:
• import { TextToSpeech } from '@ionic-native/text-to-speech';import { TextToSpeech } from '@ionic-native/text-to-speech';
Add TextToSpeech to the list of providers:Add TextToSpeech to the list of providers:
providers: [providers: [
StatusBar,StatusBar,
SplashScreen,SplashScreen,
{provide: ErrorHandler, useClass: IonicErrorHandler},{provide: ErrorHandler, useClass: IonicErrorHandler},
TextToSpeechTextToSpeech
]]
Ionic Text To SpeechIonic Text To Speech
In the markup:In the markup:
• Add an ion-itemAdd an ion-item
Ionic Text To SpeechIonic Text To Speech
In the markup:In the markup:
• Add an ion-itemAdd an ion-item
• Add a ion-labelAdd a ion-label
Ionic Text To SpeechIonic Text To Speech
In the markup:In the markup:
• Add an ion-itemAdd an ion-item
• Add a ion-labelAdd a ion-label
• Add a ion-text areaAdd a ion-text area
Ionic Text To SpeechIonic Text To Speech
In the markup:In the markup:
• Add an ion-itemAdd an ion-item
• Add a ion-labelAdd a ion-label
• Add a ion-text areaAdd a ion-text area
• Add a buttonAdd a button
Ionic Text To SpeechIonic Text To Speech
In the markup:In the markup:
<ion-content padding><ion-content padding>
<ion-item><ion-item>
<ion-label>Text</ion-label><ion-label>Text</ion-label>
<ion-textarea rows="5" [(ngModel)]="text"></ion-textarea><ion-textarea rows="5" [(ngModel)]="text"></ion-textarea>
</ion-item></ion-item>
<button ion-button (click)="sayText()">Text to Speech</button><button ion-button (click)="sayText()">Text to Speech</button>
</ion-content></ion-content>
Ionic Text To SpeechIonic Text To Speech
In the component import TextToSpeech:In the component import TextToSpeech:
• import { TextToSpeech } from '@ionic-native/text-to-speech';import { TextToSpeech } from '@ionic-native/text-to-speech';
Ionic Text To SpeechIonic Text To Speech
In the component import TextToSpeech:In the component import TextToSpeech:
• import { TextToSpeech } from '@ionic-native/text-to-speech';import { TextToSpeech } from '@ionic-native/text-to-speech';
Create a string variable in the export class.Create a string variable in the export class.
• text: string;text: string;
Ionic Text To SpeechIonic Text To Speech
In the component import TextToSpeech:In the component import TextToSpeech:
• import { TextToSpeech } from '@ionic-native/text-to-speech';import { TextToSpeech } from '@ionic-native/text-to-speech';
Create a string variable in the export class.Create a string variable in the export class.
• text: string;text: string;
Inject TextToSpeech into the constructor.Inject TextToSpeech into the constructor.
• private tts: TextToSpeechprivate tts: TextToSpeech
Ionic Text To SpeechIonic Text To Speech
import { Component } from '@angular/core';import { Component } from '@angular/core';
import { TextToSpeech } from '@ionic-native/text-to-speech';import { TextToSpeech } from '@ionic-native/text-to-speech';
@Component({@Component({
selector: 'page-home',selector: 'page-home',
templateUrl: 'home.html'templateUrl: 'home.html'
})})
export class HomePage {export class HomePage {
text: string;text: string;
constructor(private tts: TextToSpeech) {constructor(private tts: TextToSpeech) {
}}
Ionic Text To SpeechIonic Text To Speech
In the component:In the component:
• import { TextToSpeech } from '@ionic-native/text-import { TextToSpeech } from '@ionic-native/text-
to-speech';to-speech';
Inject TextToSpeech into the constructor.Inject TextToSpeech into the constructor.
• private tts: TextToSpeechprivate tts: TextToSpeech
Ionic Text To SpeechIonic Text To Speech
In the component build the function:In the component build the function:
async sayText():Promise<any>{async sayText():Promise<any>{
try{try{
await this.tts.speak(this.text);await this.tts.speak(this.text);
}}
catch(e){catch(e){
console.log(e)console.log(e)
}}
}}

More Related Content

What's hot

Open Source Business Case
Open Source Business CaseOpen Source Business Case
Open Source Business CaseFITT
 
Plugin architecture (Extensible Application Architecture)
Plugin architecture (Extensible Application Architecture)Plugin architecture (Extensible Application Architecture)
Plugin architecture (Extensible Application Architecture)Chinmoy Mohanty
 
Managing OSS license obligations
Managing OSS license obligationsManaging OSS license obligations
Managing OSS license obligationsnexB Inc.
 
Enlightenment: A Cross Platform Window Manager & Toolkit
Enlightenment: A Cross Platform Window Manager & ToolkitEnlightenment: A Cross Platform Window Manager & Toolkit
Enlightenment: A Cross Platform Window Manager & ToolkitSamsung Open Source Group
 
San Francisco PHP Meetup Presentation on Zend Framework
San Francisco PHP Meetup Presentation on Zend FrameworkSan Francisco PHP Meetup Presentation on Zend Framework
San Francisco PHP Meetup Presentation on Zend Frameworkzend
 
p2, your savior or your achilles heel? Everything an Eclipse team needs to kn...
p2, your savior or your achilles heel? Everything an Eclipse team needs to kn...p2, your savior or your achilles heel? Everything an Eclipse team needs to kn...
p2, your savior or your achilles heel? Everything an Eclipse team needs to kn...irbull
 
Optimising video delivery - Brightcove PLAY 2019
Optimising video delivery - Brightcove PLAY 2019Optimising video delivery - Brightcove PLAY 2019
Optimising video delivery - Brightcove PLAY 2019Jeremy Brown
 
Automated Infrastructure Testing
Automated Infrastructure TestingAutomated Infrastructure Testing
Automated Infrastructure TestingRanjib Dey
 
Why ClassforName Sucks - BJ Hargrave
Why ClassforName Sucks - BJ HargraveWhy ClassforName Sucks - BJ Hargrave
Why ClassforName Sucks - BJ Hargravemfrancis
 
Eclipse Plug-in Develompent Tips And Tricks
Eclipse Plug-in Develompent Tips And TricksEclipse Plug-in Develompent Tips And Tricks
Eclipse Plug-in Develompent Tips And TricksChris Aniszczyk
 
Codestrong 2012 breakout session exploring the new titanium command line in...
Codestrong 2012 breakout session   exploring the new titanium command line in...Codestrong 2012 breakout session   exploring the new titanium command line in...
Codestrong 2012 breakout session exploring the new titanium command line in...Axway Appcelerator
 

What's hot (15)

Open Source Business Case
Open Source Business CaseOpen Source Business Case
Open Source Business Case
 
CDI 1.1 university
CDI 1.1 universityCDI 1.1 university
CDI 1.1 university
 
Calabash-iOS
Calabash-iOSCalabash-iOS
Calabash-iOS
 
Plugin architecture (Extensible Application Architecture)
Plugin architecture (Extensible Application Architecture)Plugin architecture (Extensible Application Architecture)
Plugin architecture (Extensible Application Architecture)
 
Managing OSS license obligations
Managing OSS license obligationsManaging OSS license obligations
Managing OSS license obligations
 
Enlightenment: A Cross Platform Window Manager & Toolkit
Enlightenment: A Cross Platform Window Manager & ToolkitEnlightenment: A Cross Platform Window Manager & Toolkit
Enlightenment: A Cross Platform Window Manager & Toolkit
 
San Francisco PHP Meetup Presentation on Zend Framework
San Francisco PHP Meetup Presentation on Zend FrameworkSan Francisco PHP Meetup Presentation on Zend Framework
San Francisco PHP Meetup Presentation on Zend Framework
 
p2, your savior or your achilles heel? Everything an Eclipse team needs to kn...
p2, your savior or your achilles heel? Everything an Eclipse team needs to kn...p2, your savior or your achilles heel? Everything an Eclipse team needs to kn...
p2, your savior or your achilles heel? Everything an Eclipse team needs to kn...
 
Optimising video delivery - Brightcove PLAY 2019
Optimising video delivery - Brightcove PLAY 2019Optimising video delivery - Brightcove PLAY 2019
Optimising video delivery - Brightcove PLAY 2019
 
A Tale of Two Toolkits
A Tale of Two ToolkitsA Tale of Two Toolkits
A Tale of Two Toolkits
 
Automated Infrastructure Testing
Automated Infrastructure TestingAutomated Infrastructure Testing
Automated Infrastructure Testing
 
Why ClassforName Sucks - BJ Hargrave
Why ClassforName Sucks - BJ HargraveWhy ClassforName Sucks - BJ Hargrave
Why ClassforName Sucks - BJ Hargrave
 
Eclipse Plug-in Develompent Tips And Tricks
Eclipse Plug-in Develompent Tips And TricksEclipse Plug-in Develompent Tips And Tricks
Eclipse Plug-in Develompent Tips And Tricks
 
iText IP Review
iText IP ReviewiText IP Review
iText IP Review
 
Codestrong 2012 breakout session exploring the new titanium command line in...
Codestrong 2012 breakout session   exploring the new titanium command line in...Codestrong 2012 breakout session   exploring the new titanium command line in...
Codestrong 2012 breakout session exploring the new titanium command line in...
 

Similar to Thinking tts - Eric Floe

Hybrid Apps in a Snap
Hybrid Apps in a SnapHybrid Apps in a Snap
Hybrid Apps in a SnapPaulina Gallo
 
NCDevCon 2017 - Cross Platform Mobile Apps
NCDevCon 2017 - Cross Platform Mobile AppsNCDevCon 2017 - Cross Platform Mobile Apps
NCDevCon 2017 - Cross Platform Mobile AppsJohn M. Wargo
 
Appcelerator Titanium Intro (2014)
Appcelerator Titanium Intro (2014)Appcelerator Titanium Intro (2014)
Appcelerator Titanium Intro (2014)Nicholas Jansma
 
Native Mobile Application Using Open Source
Native Mobile Application Using Open SourceNative Mobile Application Using Open Source
Native Mobile Application Using Open SourceAxway Appcelerator
 
OSCON Titanium Tutorial
OSCON Titanium TutorialOSCON Titanium Tutorial
OSCON Titanium TutorialKevin Whinnery
 
Ionic App Platform Overview
Ionic App Platform Overview Ionic App Platform Overview
Ionic App Platform Overview Ionic Framework
 
Getting started with Appcelerator Titanium
Getting started with Appcelerator TitaniumGetting started with Appcelerator Titanium
Getting started with Appcelerator TitaniumTechday7
 
Getting Started with Titanium
Getting Started with TitaniumGetting Started with Titanium
Getting Started with TitaniumKevin Whinnery
 
Getting Started with .NET
Getting Started with .NETGetting Started with .NET
Getting Started with .NETLearnNowOnline
 
Dr. Strangelove, or how I learned to love plugin development
Dr. Strangelove, or how I learned to love plugin developmentDr. Strangelove, or how I learned to love plugin development
Dr. Strangelove, or how I learned to love plugin developmentUlrich Krause
 
IBM Bootcamp - Text to Speech API Lab
IBM Bootcamp - Text to Speech API LabIBM Bootcamp - Text to Speech API Lab
IBM Bootcamp - Text to Speech API LabColin McCabe
 
Getting started with titanium
Getting started with titaniumGetting started with titanium
Getting started with titaniumNaga Harish M
 
Whats New in Titanium 0.7
Whats New in Titanium 0.7Whats New in Titanium 0.7
Whats New in Titanium 0.7Kevin Whinnery
 
Appcelerator Titanium Intro
Appcelerator Titanium IntroAppcelerator Titanium Intro
Appcelerator Titanium IntroNicholas Jansma
 
Emulators as an Emerging Best Practice for API Providers
Emulators as an Emerging Best Practice for API ProvidersEmulators as an Emerging Best Practice for API Providers
Emulators as an Emerging Best Practice for API ProvidersCisco DevNet
 

Similar to Thinking tts - Eric Floe (20)

Hybrid app development with ionic
Hybrid app development with ionicHybrid app development with ionic
Hybrid app development with ionic
 
Hybrid Apps in a Snap
Hybrid Apps in a SnapHybrid Apps in a Snap
Hybrid Apps in a Snap
 
Titanium #MDS13
Titanium #MDS13Titanium #MDS13
Titanium #MDS13
 
NCDevCon 2017 - Cross Platform Mobile Apps
NCDevCon 2017 - Cross Platform Mobile AppsNCDevCon 2017 - Cross Platform Mobile Apps
NCDevCon 2017 - Cross Platform Mobile Apps
 
Appcelerator Titanium Intro (2014)
Appcelerator Titanium Intro (2014)Appcelerator Titanium Intro (2014)
Appcelerator Titanium Intro (2014)
 
Native Mobile Application Using Open Source
Native Mobile Application Using Open SourceNative Mobile Application Using Open Source
Native Mobile Application Using Open Source
 
OSCON Titanium Tutorial
OSCON Titanium TutorialOSCON Titanium Tutorial
OSCON Titanium Tutorial
 
Ionic App Platform Overview
Ionic App Platform Overview Ionic App Platform Overview
Ionic App Platform Overview
 
Getting started with Appcelerator Titanium
Getting started with Appcelerator TitaniumGetting started with Appcelerator Titanium
Getting started with Appcelerator Titanium
 
Ionic2 First Lesson of Four
Ionic2 First Lesson of FourIonic2 First Lesson of Four
Ionic2 First Lesson of Four
 
Getting Started with Titanium
Getting Started with TitaniumGetting Started with Titanium
Getting Started with Titanium
 
Getting Started with Titanium
Getting Started with TitaniumGetting Started with Titanium
Getting Started with Titanium
 
Getting Started with .NET
Getting Started with .NETGetting Started with .NET
Getting Started with .NET
 
Dr. Strangelove, or how I learned to love plugin development
Dr. Strangelove, or how I learned to love plugin developmentDr. Strangelove, or how I learned to love plugin development
Dr. Strangelove, or how I learned to love plugin development
 
IBM Bootcamp - Text to Speech API Lab
IBM Bootcamp - Text to Speech API LabIBM Bootcamp - Text to Speech API Lab
IBM Bootcamp - Text to Speech API Lab
 
Getting started with titanium
Getting started with titaniumGetting started with titanium
Getting started with titanium
 
Whats New in Titanium 0.7
Whats New in Titanium 0.7Whats New in Titanium 0.7
Whats New in Titanium 0.7
 
Ionic Framework
Ionic FrameworkIonic Framework
Ionic Framework
 
Appcelerator Titanium Intro
Appcelerator Titanium IntroAppcelerator Titanium Intro
Appcelerator Titanium Intro
 
Emulators as an Emerging Best Practice for API Providers
Emulators as an Emerging Best Practice for API ProvidersEmulators as an Emerging Best Practice for API Providers
Emulators as an Emerging Best Practice for API Providers
 

Recently uploaded

Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Alan Dix
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupFlorian Wilhelm
 
Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesSinan KOZAK
 
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Patryk Bandurski
 
Artificial intelligence in the post-deep learning era
Artificial intelligence in the post-deep learning eraArtificial intelligence in the post-deep learning era
Artificial intelligence in the post-deep learning eraDeakin University
 
Making_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptx
Making_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptxMaking_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptx
Making_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptxnull - The Open Security Community
 
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024BookNet Canada
 
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationBeyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationSafe Software
 
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticscarlostorres15106
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Scott Keck-Warren
 
Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machinePadma Pradeep
 
SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024Scott Keck-Warren
 
SIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge GraphSIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge GraphNeo4j
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Mattias Andersson
 
My INSURER PTE LTD - Insurtech Innovation Award 2024
My INSURER PTE LTD - Insurtech Innovation Award 2024My INSURER PTE LTD - Insurtech Innovation Award 2024
My INSURER PTE LTD - Insurtech Innovation Award 2024The Digital Insurer
 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):comworks
 
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr LapshynFwdays
 

Recently uploaded (20)

Hot Sexy call girls in Panjabi Bagh 🔝 9953056974 🔝 Delhi escort Service
Hot Sexy call girls in Panjabi Bagh 🔝 9953056974 🔝 Delhi escort ServiceHot Sexy call girls in Panjabi Bagh 🔝 9953056974 🔝 Delhi escort Service
Hot Sexy call girls in Panjabi Bagh 🔝 9953056974 🔝 Delhi escort Service
 
Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project Setup
 
Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen Frames
 
The transition to renewables in India.pdf
The transition to renewables in India.pdfThe transition to renewables in India.pdf
The transition to renewables in India.pdf
 
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
 
Artificial intelligence in the post-deep learning era
Artificial intelligence in the post-deep learning eraArtificial intelligence in the post-deep learning era
Artificial intelligence in the post-deep learning era
 
Making_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptx
Making_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptxMaking_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptx
Making_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptx
 
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
 
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationBeyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
 
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024
 
Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machine
 
SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024
 
SIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge GraphSIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge Graph
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?
 
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptxE-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
 
My INSURER PTE LTD - Insurtech Innovation Award 2024
My INSURER PTE LTD - Insurtech Innovation Award 2024My INSURER PTE LTD - Insurtech Innovation Award 2024
My INSURER PTE LTD - Insurtech Innovation Award 2024
 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):
 
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
 

Thinking tts - Eric Floe

  • 1. Thinking “out of the box”Thinking “out of the box” with Ionic Text To Speechwith Ionic Text To Speech Eric James FloeEric James Floe SoCal Code Camp 6/24/17SoCal Code Camp 6/24/17
  • 2. Ionic Text To SpeechIonic Text To Speech Why Angular?Why Angular?
  • 3. Ionic Text To SpeechIonic Text To Speech Why Angular?Why Angular?
  • 4. Ionic Text To SpeechIonic Text To Speech Why Angular?Why Angular?
  • 5. Ionic Text To SpeechIonic Text To Speech Why Angular?Why Angular? Why Ionic?Why Ionic?
  • 6. Ionic Text To SpeechIonic Text To Speech Why Angular?Why Angular? Why Ionic?Why Ionic? Why Hybrid?Why Hybrid?
  • 7. Ionic Text To SpeechIonic Text To Speech Why Angular?Why Angular? Why Ionic?Why Ionic? Why Hybrid?Why Hybrid? • Build and maintain one codebase while deploying toBuild and maintain one codebase while deploying to numerous device platforms.numerous device platforms.
  • 8. Ionic Text To SpeechIonic Text To Speech Why Angular?Why Angular? Why Ionic?Why Ionic? Why Hybrid?Why Hybrid? • Build and maintain one code base.Build and maintain one code base. • Deploy to numerous device platforms.Deploy to numerous device platforms. Why Native Device capabilities?Why Native Device capabilities?
  • 9. Ionic Text To SpeechIonic Text To Speech Why Angular?Why Angular? Why Ionic?Why Ionic? Why Hybrid?Why Hybrid? • Build and maintain one code base.Build and maintain one code base. • Deploy to numerous device platforms.Deploy to numerous device platforms. Why Native Device capabilities?Why Native Device capabilities? • Because they are cool and synergistically extend theBecause they are cool and synergistically extend the functional reach of our applications!functional reach of our applications!
  • 10. Ionic Text To SpeechIonic Text To Speech Why Angular?Why Angular? Why Ionic?Why Ionic? Why Hybrid?Why Hybrid? • Build and maintain one code base.Build and maintain one code base. • Deploy to numerous device platforms.Deploy to numerous device platforms. Why Native Device capabilities?Why Native Device capabilities? • Because they are cool and synergistically extend theBecause they are cool and synergistically extend the functional reach of our applications!functional reach of our applications! • Want Proof? ... go to the docs:Want Proof? ... go to the docs: http://ionicframework.com/docs/http://ionicframework.com/docs/
  • 11. Ionic Text To SpeechIonic Text To Speech Audio/Video Barcode Scanner Beacons Bluetooth Camera Contacts DB Integration File Access Fingerprint FTP Geolocation Geofencing Globalization Google Maps Media Phone SMS Social Media Speech Recognition Text to Speech
  • 12. Ionic Text To SpeechIonic Text To Speech Install Ionic and its Dependencies Install a web development IDEInstall a web development IDE Install GITInstall GIT Install Node.jsInstall Node.js Install/Upgrade npmInstall/Upgrade npm Install Angular CLIInstall Angular CLI Install CordovaInstall Cordova Install IonicInstall Ionic
  • 13. Ionic Text To SpeechIonic Text To Speech Demo Time!!!Demo Time!!!
  • 14. Ionic Text To SpeechIonic Text To Speech Create a new project:Create a new project: • ionic start SoCalCodeCamp blank --v2ionic start SoCalCodeCamp blank --v2
  • 15. Ionic Text To SpeechIonic Text To Speech Create a new project:Create a new project: • ionic start SoCalCodeCamp blank --v2ionic start SoCalCodeCamp blank --v2 CD into the new project:CD into the new project: • cd SoCalCodeCampcd SoCalCodeCamp
  • 16. Ionic Text To SpeechIonic Text To Speech Create a new project:Create a new project: • ionic start SoCalCodeCamp blank --v2ionic start SoCalCodeCamp blank --v2 CD into the new project:CD into the new project: • CD SoCalCodeCampCD SoCalCodeCamp Run the new project:Run the new project: • ionic serveionic serve • http://localhost:8100/http://localhost:8100/
  • 17. Ionic Text To SpeechIonic Text To Speech Create a new project:Create a new project: • ionic start SoCalCodeCamp blank --v2ionic start SoCalCodeCamp blank --v2 CD into the new project:CD into the new project: • CD SoCalCodeCampCD SoCalCodeCamp Run the new project:Run the new project: • ionic serveionic serve • http://localhost:8100/http://localhost:8100/ Open the project in an IDE & review the code.Open the project in an IDE & review the code. • Edit the title & saveEdit the title & save
  • 18. Ionic Text To SpeechIonic Text To Speech From the root directory add a Mobile Platform:From the root directory add a Mobile Platform: • ionic platform add androidionic platform add android
  • 19. Ionic Text To SpeechIonic Text To Speech From the root directory add a Mobile Platform:From the root directory add a Mobile Platform: • ionic platform add androidionic platform add android Add the tts plugin to the project:Add the tts plugin to the project: • cordova plugin add cordova-plugin-ttscordova plugin add cordova-plugin-tts
  • 20. Ionic Text To SpeechIonic Text To Speech From the root directory add a Mobile Platform:From the root directory add a Mobile Platform: • ionic platform add androidionic platform add android Add the tts plugin to the project:Add the tts plugin to the project: • cordova plugin add cordova-plugin-ttscordova plugin add cordova-plugin-tts Add the Ionic Native Package for Text To Speech:Add the Ionic Native Package for Text To Speech: • npm install @ionic-native/text-to-speech --savenpm install @ionic-native/text-to-speech --save
  • 21. Ionic Text To SpeechIonic Text To Speech In the IDE open the src/app/app.module.ts and add theIn the IDE open the src/app/app.module.ts and add the TextToSpeech import:TextToSpeech import: • import { TextToSpeech } from '@ionic-native/text-to-speech';import { TextToSpeech } from '@ionic-native/text-to-speech'; Add TextToSpeech to the list of providers:Add TextToSpeech to the list of providers: providers: [providers: [ StatusBar,StatusBar, SplashScreen,SplashScreen, {provide: ErrorHandler, useClass: IonicErrorHandler},{provide: ErrorHandler, useClass: IonicErrorHandler}, TextToSpeechTextToSpeech ]]
  • 22. Ionic Text To SpeechIonic Text To Speech In the markup:In the markup: • Add an ion-itemAdd an ion-item
  • 23. Ionic Text To SpeechIonic Text To Speech In the markup:In the markup: • Add an ion-itemAdd an ion-item • Add a ion-labelAdd a ion-label
  • 24. Ionic Text To SpeechIonic Text To Speech In the markup:In the markup: • Add an ion-itemAdd an ion-item • Add a ion-labelAdd a ion-label • Add a ion-text areaAdd a ion-text area
  • 25. Ionic Text To SpeechIonic Text To Speech In the markup:In the markup: • Add an ion-itemAdd an ion-item • Add a ion-labelAdd a ion-label • Add a ion-text areaAdd a ion-text area • Add a buttonAdd a button
  • 26. Ionic Text To SpeechIonic Text To Speech In the markup:In the markup: <ion-content padding><ion-content padding> <ion-item><ion-item> <ion-label>Text</ion-label><ion-label>Text</ion-label> <ion-textarea rows="5" [(ngModel)]="text"></ion-textarea><ion-textarea rows="5" [(ngModel)]="text"></ion-textarea> </ion-item></ion-item> <button ion-button (click)="sayText()">Text to Speech</button><button ion-button (click)="sayText()">Text to Speech</button> </ion-content></ion-content>
  • 27. Ionic Text To SpeechIonic Text To Speech In the component import TextToSpeech:In the component import TextToSpeech: • import { TextToSpeech } from '@ionic-native/text-to-speech';import { TextToSpeech } from '@ionic-native/text-to-speech';
  • 28. Ionic Text To SpeechIonic Text To Speech In the component import TextToSpeech:In the component import TextToSpeech: • import { TextToSpeech } from '@ionic-native/text-to-speech';import { TextToSpeech } from '@ionic-native/text-to-speech'; Create a string variable in the export class.Create a string variable in the export class. • text: string;text: string;
  • 29. Ionic Text To SpeechIonic Text To Speech In the component import TextToSpeech:In the component import TextToSpeech: • import { TextToSpeech } from '@ionic-native/text-to-speech';import { TextToSpeech } from '@ionic-native/text-to-speech'; Create a string variable in the export class.Create a string variable in the export class. • text: string;text: string; Inject TextToSpeech into the constructor.Inject TextToSpeech into the constructor. • private tts: TextToSpeechprivate tts: TextToSpeech
  • 30. Ionic Text To SpeechIonic Text To Speech import { Component } from '@angular/core';import { Component } from '@angular/core'; import { TextToSpeech } from '@ionic-native/text-to-speech';import { TextToSpeech } from '@ionic-native/text-to-speech'; @Component({@Component({ selector: 'page-home',selector: 'page-home', templateUrl: 'home.html'templateUrl: 'home.html' })}) export class HomePage {export class HomePage { text: string;text: string; constructor(private tts: TextToSpeech) {constructor(private tts: TextToSpeech) { }}
  • 31. Ionic Text To SpeechIonic Text To Speech In the component:In the component: • import { TextToSpeech } from '@ionic-native/text-import { TextToSpeech } from '@ionic-native/text- to-speech';to-speech'; Inject TextToSpeech into the constructor.Inject TextToSpeech into the constructor. • private tts: TextToSpeechprivate tts: TextToSpeech
  • 32. Ionic Text To SpeechIonic Text To Speech In the component build the function:In the component build the function: async sayText():Promise<any>{async sayText():Promise<any>{ try{try{ await this.tts.speak(this.text);await this.tts.speak(this.text); }} catch(e){catch(e){ console.log(e)console.log(e) }} }}