SlideShare una empresa de Scribd logo
1 de 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)
}}
}}

Más contenido relacionado

La actualidad más candente

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
 

La actualidad más candente (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 a 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 a 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
 

Último

ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProduct Anonymous
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...DianaGray10
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationRadu Cotescu
 
GenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdfGenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdflior mazor
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAndrey Devyatkin
 
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUnderstanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUK Journal
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024The Digital Insurer
 
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?Igalia
 
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024The Digital Insurer
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsJoaquim Jorge
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Miguel Araújo
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)Gabriella Davis
 
Top 5 Benefits OF Using Muvi Live Paywall For Live Streams
Top 5 Benefits OF Using Muvi Live Paywall For Live StreamsTop 5 Benefits OF Using Muvi Live Paywall For Live Streams
Top 5 Benefits OF Using Muvi Live Paywall For Live StreamsRoshan Dwivedi
 
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...apidays
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024Rafal Los
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024The Digital Insurer
 
Manulife - Insurer Innovation Award 2024
Manulife - Insurer Innovation Award 2024Manulife - Insurer Innovation Award 2024
Manulife - Insurer Innovation Award 2024The Digital Insurer
 
Deploy with confidence: VMware Cloud Foundation 5.1 on next gen Dell PowerEdg...
Deploy with confidence: VMware Cloud Foundation 5.1 on next gen Dell PowerEdg...Deploy with confidence: VMware Cloud Foundation 5.1 on next gen Dell PowerEdg...
Deploy with confidence: VMware Cloud Foundation 5.1 on next gen Dell PowerEdg...Principled Technologies
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024The Digital Insurer
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...Martijn de Jong
 

Último (20)

ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organization
 
GenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdfGenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdf
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of Terraform
 
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUnderstanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
 
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?
 
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
Top 5 Benefits OF Using Muvi Live Paywall For Live Streams
Top 5 Benefits OF Using Muvi Live Paywall For Live StreamsTop 5 Benefits OF Using Muvi Live Paywall For Live Streams
Top 5 Benefits OF Using Muvi Live Paywall For Live Streams
 
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
 
Manulife - Insurer Innovation Award 2024
Manulife - Insurer Innovation Award 2024Manulife - Insurer Innovation Award 2024
Manulife - Insurer Innovation Award 2024
 
Deploy with confidence: VMware Cloud Foundation 5.1 on next gen Dell PowerEdg...
Deploy with confidence: VMware Cloud Foundation 5.1 on next gen Dell PowerEdg...Deploy with confidence: VMware Cloud Foundation 5.1 on next gen Dell PowerEdg...
Deploy with confidence: VMware Cloud Foundation 5.1 on next gen Dell PowerEdg...
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 

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) }} }}