The document discusses using Ionic and Angular to build a text-to-speech mobile app. It describes setting up a new Ionic project, adding the Android platform, and installing the text-to-speech plugin. It then shows how to import the TextToSpeech class, add a button click handler to call the speak method, and build a function to speak the input text.
A presentation form Integration Stockholm where we shared our collected thoughts on how to implement Continuous Delivery in mainly Enterprise organisations. What has worked for us and what did not work and how to approach CI/CD and succeed...
The author would like to introduce a form of remote interpreting: recorded remote simultaneous interpreting (Recorded RSI). In short, Recorded RSI is a form of interpreting service in which the interpreter receives a video from a client and then uses a video editing software (such as Adobe Premiere Pro) to add a simultaneous interpreting voice track and submit the edited video.
Please download PPT to see the video in the presentation.
PI's are fundamental for designing and maintaining quality components. Eclipse currently has little tooling to support the design, implementation and maintenance of APIs. As part of the Ganymede release, PDE provides tools to support binary compatibility checking, API usage scanning and plug-in version numbering management. This talk details the technology available in Ganymede, supported usecases and outlines directions for future development. We will also discuss the challenges of proper version management in the bundle world.
A presentation form Integration Stockholm where we shared our collected thoughts on how to implement Continuous Delivery in mainly Enterprise organisations. What has worked for us and what did not work and how to approach CI/CD and succeed...
The author would like to introduce a form of remote interpreting: recorded remote simultaneous interpreting (Recorded RSI). In short, Recorded RSI is a form of interpreting service in which the interpreter receives a video from a client and then uses a video editing software (such as Adobe Premiere Pro) to add a simultaneous interpreting voice track and submit the edited video.
Please download PPT to see the video in the presentation.
PI's are fundamental for designing and maintaining quality components. Eclipse currently has little tooling to support the design, implementation and maintenance of APIs. As part of the Ganymede release, PDE provides tools to support binary compatibility checking, API usage scanning and plug-in version numbering management. This talk details the technology available in Ganymede, supported usecases and outlines directions for future development. We will also discuss the challenges of proper version management in the bundle world.
Heather Meeker and Michael Herzog discuss the primary open source license obligations and some practical approaches for compliance with attribution and redistribution obligations.
Optimising video delivery - Brightcove PLAY 2019Jeremy Brown
7plus has taken advantage of the flexibility of the Brightcove video platform using the latest features Context Aware Encoding (CAE), Delivery Rules driven when driven by the 7plus automated quality assessment (QA) ingest workflow to mitigate common compromises to deliver better video experiences for our users
I presented at Brightcove PLAY May 2019 (suffering severe jet lag), thanks to everyone involved this was a fantastic event
This is the slide deck of the Zend webinar "A tale of two toolkits".
Have you heard of the exciting new open source XML Toolkit currently being developed in collaboration between IBM and Zend? Are you curious about how it works and what you need to get started? Are you aware that it is available in Zend Server 5.1 as a beta and soon to be released as GA? Well rest assured, Mike Pavlak will fill you in on the details and a little bit more.
You can watch the webinar at http://bit.ly/q9byHS, after a short registration.
OSGi DevCon 2008
Class.forName and ClassLoader.loadClass seem to be synonyms for the same basic operation: request a dynamic class load. Yet calling Class.forName does additional "checking" which is not very useful (certainly in OSGi). Class.forName does certain loader constraint checks to ensure type safety which are not necessary when doing dynamic class loads. This short talk will explore this issue and discuss a proposed "hack" to work around the issue for legacy code which can't easily be changed to avoid Class.forName.
Plug-ins are everywhere in Eclipse so come learn about how to develop them! Depending on the audience, for the first half of the talk, I will discuss what a plug-in is and what tooling is provided around developing plug-ins. For the second half, I will discuss tips and tricks that can save you time in developing plug-ins and will also talk about some lesser known, but extremely useful, parts of PDE.
Half hour presentation about Free/Open Source Software and Intellectual Property. Case study about the Research Agreement to make an overview of the IP of iText, a Java-PDF library. Some examples of issues that were dealt with.
Hybrid mobile app development slide with Ionic Framework. This is a subset of slides presented during my Ionic Mobile Development course.
In addition to the items in this slide, the course will cover Ionic application Architecture, Important AngularJS principles for Ionic development, Native vs Hybrid and code signing to Google Play and AppStore.
It is a hands-on based approach training where 80% of the course (normally from 10 am to 5 pm) will be guided lab activity or mini project activity.
Do you have an idea for a mobile app and you're only familiar with HTML, CSS and JS? Does going native and writing the same code twice over sound daunting? Ionic is an amazing framework that allows one code base to produce 2 platforms! Hybrid apps are a great way to get your idea out there to all users. Learn about Ionic and build a basic mobile app in less than 1 hour.
The talk would include the following:
- Brief intro/explanation of Ionic as a framework
- Installing Ionic
- Making A Basic App
We've presented this talk at:
- AngularCamp 2017
- Women in Tech Summit (Philly) 2017
- Women in Tech Summit MidAtlantic 2018
Please feel to reach out to either one of us for help with Ionic, PWD, Angular, etc! Or if you would like to chat about development in general :)
Follow us on Twitter: @paulpaultweets @bettierub
NCDevCon 2017 - Cross Platform Mobile AppsJohn M. Wargo
Building cross-platform mobile apps using open source tools. A manic paced session where I build the same app across 4 different open source mobile development frameworks.
Appcelerator Titanium is a cross-platform development environment where you can build iOS, Android, BlackBerry and Hybrid/HTML5 apps. This talk will discuss how it works, how to get started, code samples and pros/cons from experience.
Heather Meeker and Michael Herzog discuss the primary open source license obligations and some practical approaches for compliance with attribution and redistribution obligations.
Optimising video delivery - Brightcove PLAY 2019Jeremy Brown
7plus has taken advantage of the flexibility of the Brightcove video platform using the latest features Context Aware Encoding (CAE), Delivery Rules driven when driven by the 7plus automated quality assessment (QA) ingest workflow to mitigate common compromises to deliver better video experiences for our users
I presented at Brightcove PLAY May 2019 (suffering severe jet lag), thanks to everyone involved this was a fantastic event
This is the slide deck of the Zend webinar "A tale of two toolkits".
Have you heard of the exciting new open source XML Toolkit currently being developed in collaboration between IBM and Zend? Are you curious about how it works and what you need to get started? Are you aware that it is available in Zend Server 5.1 as a beta and soon to be released as GA? Well rest assured, Mike Pavlak will fill you in on the details and a little bit more.
You can watch the webinar at http://bit.ly/q9byHS, after a short registration.
OSGi DevCon 2008
Class.forName and ClassLoader.loadClass seem to be synonyms for the same basic operation: request a dynamic class load. Yet calling Class.forName does additional "checking" which is not very useful (certainly in OSGi). Class.forName does certain loader constraint checks to ensure type safety which are not necessary when doing dynamic class loads. This short talk will explore this issue and discuss a proposed "hack" to work around the issue for legacy code which can't easily be changed to avoid Class.forName.
Plug-ins are everywhere in Eclipse so come learn about how to develop them! Depending on the audience, for the first half of the talk, I will discuss what a plug-in is and what tooling is provided around developing plug-ins. For the second half, I will discuss tips and tricks that can save you time in developing plug-ins and will also talk about some lesser known, but extremely useful, parts of PDE.
Half hour presentation about Free/Open Source Software and Intellectual Property. Case study about the Research Agreement to make an overview of the IP of iText, a Java-PDF library. Some examples of issues that were dealt with.
Hybrid mobile app development slide with Ionic Framework. This is a subset of slides presented during my Ionic Mobile Development course.
In addition to the items in this slide, the course will cover Ionic application Architecture, Important AngularJS principles for Ionic development, Native vs Hybrid and code signing to Google Play and AppStore.
It is a hands-on based approach training where 80% of the course (normally from 10 am to 5 pm) will be guided lab activity or mini project activity.
Do you have an idea for a mobile app and you're only familiar with HTML, CSS and JS? Does going native and writing the same code twice over sound daunting? Ionic is an amazing framework that allows one code base to produce 2 platforms! Hybrid apps are a great way to get your idea out there to all users. Learn about Ionic and build a basic mobile app in less than 1 hour.
The talk would include the following:
- Brief intro/explanation of Ionic as a framework
- Installing Ionic
- Making A Basic App
We've presented this talk at:
- AngularCamp 2017
- Women in Tech Summit (Philly) 2017
- Women in Tech Summit MidAtlantic 2018
Please feel to reach out to either one of us for help with Ionic, PWD, Angular, etc! Or if you would like to chat about development in general :)
Follow us on Twitter: @paulpaultweets @bettierub
NCDevCon 2017 - Cross Platform Mobile AppsJohn M. Wargo
Building cross-platform mobile apps using open source tools. A manic paced session where I build the same app across 4 different open source mobile development frameworks.
Appcelerator Titanium is a cross-platform development environment where you can build iOS, Android, BlackBerry and Hybrid/HTML5 apps. This talk will discuss how it works, how to get started, code samples and pros/cons from experience.
Getting started with Appcelerator TitaniumTechday7
Techday7, Cross platform application development using Appcelerator Titanium event's Getting started with Appcelerator Titanium By Naga Harish M, Lead Developer of Anubavam Technologies
Dr. Strangelove, or how I learned to love plugin developmentUlrich Krause
Building a plugin for the Notes client is hard and you need to be a rocket scientist to write a simple menu extension. This is exactly, what I thought, when I first heard of plugin development. In this session, you will learn, how to setup an Eclipse environment, connect it to your Notes Client for debugging and testing, and finally deploy your plugin to your users. Become familiar with the basics, and you will no longer be scared.
Emulators as an Emerging Best Practice for API ProvidersCisco DevNet
Modern software leverage a lot of external APIs, which raises several issues: how can development teams safely build and test their software when some components they rely on keep evolving. And what if some of these components are key for the whole software to even fire up. These are some of the challenges faced today by Cisco internal development teams, but also partner and enterprise developers using Cisco's software. The industry proposes two main strategies to circumvent these challenges: API Mocking, and Service Virtualization. Both of these strategies have pro and cons. I came up with the idea of proposing API emulators has a 3rd option. From another perspective, Serverless platforms are recognized to be unique as they are scalable and straightforward to use. It turns out that major industry vendors (Google, Amazon, Microsoft…) have invested to create Emulator as companions to their Serverless platforms, in order to attract, on-board and have developers adopt Serverless platforms. In this talk, I'll explain the motivation behind API emulators, in the perspective of DevOps, CI/CD, Development Processes, and Serverless/Microservices architectures. I'll illustrate the talk with several prototypes: - Mini-Spark: an Emulator for the Cisco Spark API which mimics the execution environment of the Cisco Spark Cloud platform - Tropo-Ready: an Emulator for Tropo Serverless Telephony platform, tied it to Visual Studio Code in order to reach to developer communities I'll dive into the details of the process to create such emulators, and elaborate on the consideration that Emulators are emerging as key components of API providers's strategy.
Elevating Tactical DDD Patterns Through Object CalisthenicsDorra BARTAGUIZ
After immersing yourself in the blue book and its red counterpart, attending DDD-focused conferences, and applying tactical patterns, you're left with a crucial question: How do I ensure my design is effective? Tactical patterns within Domain-Driven Design (DDD) serve as guiding principles for creating clear and manageable domain models. However, achieving success with these patterns requires additional guidance. Interestingly, we've observed that a set of constraints initially designed for training purposes remarkably aligns with effective pattern implementation, offering a more ‘mechanical’ approach. Let's explore together how Object Calisthenics can elevate the design of your tactical DDD patterns, offering concrete help for those venturing into DDD for the first time!
DevOps and Testing slides at DASA ConnectKari Kakkonen
My and Rik Marselis slides at 30.5.2024 DASA Connect conference. We discuss about what is testing, then what is agile testing and finally what is Testing in DevOps. Finally we had lovely workshop with the participants trying to find out different ways to think about quality and testing in different parts of the DevOps infinity loop.
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...DanBrown980551
Do you want to learn how to model and simulate an electrical network from scratch in under an hour?
Then welcome to this PowSyBl workshop, hosted by Rte, the French Transmission System Operator (TSO)!
During the webinar, you will discover the PowSyBl ecosystem as well as handle and study an electrical network through an interactive Python notebook.
PowSyBl is an open source project hosted by LF Energy, which offers a comprehensive set of features for electrical grid modelling and simulation. Among other advanced features, PowSyBl provides:
- A fully editable and extendable library for grid component modelling;
- Visualization tools to display your network;
- Grid simulation tools, such as power flows, security analyses (with or without remedial actions) and sensitivity analyses;
The framework is mostly written in Java, with a Python binding so that Python developers can access PowSyBl functionalities as well.
What you will learn during the webinar:
- For beginners: discover PowSyBl's functionalities through a quick general presentation and the notebook, without needing any expert coding skills;
- For advanced developers: master the skills to efficiently apply PowSyBl functionalities to your real-world scenarios.
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdfPaige Cruz
Monitoring and observability aren’t traditionally found in software curriculums and many of us cobble this knowledge together from whatever vendor or ecosystem we were first introduced to and whatever is a part of your current company’s observability stack.
While the dev and ops silo continues to crumble….many organizations still relegate monitoring & observability as the purview of ops, infra and SRE teams. This is a mistake - achieving a highly observable system requires collaboration up and down the stack.
I, a former op, would like to extend an invitation to all application developers to join the observability party will share these foundational concepts to build on:
Securing your Kubernetes cluster_ a step-by-step guide to success !KatiaHIMEUR1
Today, after several years of existence, an extremely active community and an ultra-dynamic ecosystem, Kubernetes has established itself as the de facto standard in container orchestration. Thanks to a wide range of managed services, it has never been so easy to set up a ready-to-use Kubernetes cluster.
However, this ease of use means that the subject of security in Kubernetes is often left for later, or even neglected. This exposes companies to significant risks.
In this talk, I'll show you step-by-step how to secure your Kubernetes cluster for greater peace of mind and reliability.
GraphRAG is All You need? LLM & Knowledge GraphGuy Korland
Guy Korland, CEO and Co-founder of FalkorDB, will review two articles on the integration of language models with knowledge graphs.
1. Unifying Large Language Models and Knowledge Graphs: A Roadmap.
https://arxiv.org/abs/2306.08302
2. Microsoft Research's GraphRAG paper and a review paper on various uses of knowledge graphs:
https://www.microsoft.com/en-us/research/blog/graphrag-unlocking-llm-discovery-on-narrative-private-data/
UiPath Test Automation using UiPath Test Suite series, part 4DianaGray10
Welcome to UiPath Test Automation using UiPath Test Suite series part 4. In this session, we will cover Test Manager overview along with SAP heatmap.
The UiPath Test Manager overview with SAP heatmap webinar offers a concise yet comprehensive exploration of the role of a Test Manager within SAP environments, coupled with the utilization of heatmaps for effective testing strategies.
Participants will gain insights into the responsibilities, challenges, and best practices associated with test management in SAP projects. Additionally, the webinar delves into the significance of heatmaps as a visual aid for identifying testing priorities, areas of risk, and resource allocation within SAP landscapes. Through this session, attendees can expect to enhance their understanding of test management principles while learning practical approaches to optimize testing processes in SAP environments using heatmap visualization techniques
What will you get from this session?
1. Insights into SAP testing best practices
2. Heatmap utilization for testing
3. Optimization of testing processes
4. Demo
Topics covered:
Execution from the test manager
Orchestrator execution result
Defect reporting
SAP heatmap example with demo
Speaker:
Deepak Rai, Automation Practice Lead, Boundaryless Group and UiPath MVP
The Art of the Pitch: WordPress Relationships and SalesLaura Byrne
Clients don’t know what they don’t know. What web solutions are right for them? How does WordPress come into the picture? How do you make sure you understand scope and timeline? What do you do if sometime changes?
All these questions and more will be explored as we talk about matching clients’ needs with what your agency offers without pulling teeth or pulling your hair out. Practical tips, and strategies for successful relationship building that leads to closing the deal.
Key Trends Shaping the Future of Infrastructure.pdfCheryl Hung
Keynote at DIGIT West Expo, Glasgow on 29 May 2024.
Cheryl Hung, ochery.com
Sr Director, Infrastructure Ecosystem, Arm.
The key trends across hardware, cloud and open-source; exploring how these areas are likely to mature and develop over the short and long-term, and then considering how organisations can position themselves to adapt and thrive.
Accelerate your Kubernetes clusters with Varnish CachingThijs Feryn
A presentation about the usage and availability of Varnish on Kubernetes. This talk explores the capabilities of Varnish caching and shows how to use the Varnish Helm chart to deploy it to Kubernetes.
This presentation was delivered at K8SUG Singapore. See https://feryn.eu/presentations/accelerate-your-kubernetes-clusters-with-varnish-caching-k8sug-singapore-28-2024 for more details.
Welocme to ViralQR, your best QR code generator.ViralQR
Welcome to ViralQR, your best QR code generator available on the market!
At ViralQR, we design static and dynamic QR codes. Our mission is to make business operations easier and customer engagement more powerful through the use of QR technology. Be it a small-scale business or a huge enterprise, our easy-to-use platform provides multiple choices that can be tailored according to your company's branding and marketing strategies.
Our Vision
We are here to make the process of creating QR codes easy and smooth, thus enhancing customer interaction and making business more fluid. We very strongly believe in the ability of QR codes to change the world for businesses in their interaction with customers and are set on making that technology accessible and usable far and wide.
Our Achievements
Ever since its inception, we have successfully served many clients by offering QR codes in their marketing, service delivery, and collection of feedback across various industries. Our platform has been recognized for its ease of use and amazing features, which helped a business to make QR codes.
Our Services
At ViralQR, here is a comprehensive suite of services that caters to your very needs:
Static QR Codes: Create free static QR codes. These QR codes are able to store significant information such as URLs, vCards, plain text, emails and SMS, Wi-Fi credentials, and Bitcoin addresses.
Dynamic QR codes: These also have all the advanced features but are subscription-based. They can directly link to PDF files, images, micro-landing pages, social accounts, review forms, business pages, and applications. In addition, they can be branded with CTAs, frames, patterns, colors, and logos to enhance your branding.
Pricing and Packages
Additionally, there is a 14-day free offer to ViralQR, which is an exceptional opportunity for new users to take a feel of this platform. One can easily subscribe from there and experience the full dynamic of using QR codes. The subscription plans are not only meant for business; they are priced very flexibly so that literally every business could afford to benefit from our service.
Why choose us?
ViralQR will provide services for marketing, advertising, catering, retail, and the like. The QR codes can be posted on fliers, packaging, merchandise, and banners, as well as to substitute for cash and cards in a restaurant or coffee shop. With QR codes integrated into your business, improve customer engagement and streamline operations.
Comprehensive Analytics
Subscribers of ViralQR receive detailed analytics and tracking tools in light of having a view of the core values of QR code performance. Our analytics dashboard shows aggregate views and unique views, as well as detailed information about each impression, including time, device, browser, and estimated location by city and country.
So, thank you for choosing ViralQR; we have an offer of nothing but the best in terms of QR code services to meet business diversity!
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024Albert Hoitingh
In this session I delve into the encryption technology used in Microsoft 365 and Microsoft Purview. Including the concepts of Customer Key and Double Key Encryption.
Epistemic Interaction - tuning interfaces to provide information for AI supportAlan Dix
Paper presented at SYNERGY workshop at AVI 2024, Genoa, Italy. 3rd June 2024
https://alandix.com/academic/papers/synergy2024-epistemic/
As machine learning integrates deeper into human-computer interactions, the concept of epistemic interaction emerges, aiming to refine these interactions to enhance system adaptability. This approach encourages minor, intentional adjustments in user behaviour to enrich the data available for system learning. This paper introduces epistemic interaction within the context of human-system communication, illustrating how deliberate interaction design can improve system understanding and adaptation. Through concrete examples, we demonstrate the potential of epistemic interaction to significantly advance human-computer interaction by leveraging intuitive human communication strategies to inform system design and functionality, offering a novel pathway for enriching user-system engagements.
Le nuove frontiere dell'AI nell'RPA con UiPath Autopilot™UiPathCommunity
In questo evento online gratuito, organizzato dalla Community Italiana di UiPath, potrai esplorare le nuove funzionalità di Autopilot, il tool che integra l'Intelligenza Artificiale nei processi di sviluppo e utilizzo delle Automazioni.
📕 Vedremo insieme alcuni esempi dell'utilizzo di Autopilot in diversi tool della Suite UiPath:
Autopilot per Studio Web
Autopilot per Studio
Autopilot per Apps
Clipboard AI
GenAI applicata alla Document Understanding
👨🏫👨💻 Speakers:
Stefano Negro, UiPath MVPx3, RPA Tech Lead @ BSP Consultant
Flavio Martinelli, UiPath MVP 2023, Technical Account Manager @UiPath
Andrei Tasca, RPA Solutions Team Lead @NTT Data
Le nuove frontiere dell'AI nell'RPA con UiPath Autopilot™
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)
}}
}}