Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
クラウドを活用した WebRTC コールセンターの最前線
Search
Sponsored
·
Your Podcast. Everywhere. Effortlessly.
Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
→
Kiminari Homma
September 17, 2016
Technology
3.3k
3
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
クラウドを活用した WebRTC コールセンターの最前線
http://softlayer.connpass.com/event/34524/
での登壇スライド
Kiminari Homma
September 17, 2016
More Decks by Kiminari Homma
See All by Kiminari Homma
Twilio Meetup 東京 2022/11/11
honkimi
0
83
Twilio iOS 徹底攻略
honkimi
1
1.4k
2021年 Twilio Voice 報告
honkimi
0
380
WebRTC ビジネスの失敗と成功
honkimi
2
1.9k
最近の Twilio トレンド報告
honkimi
0
450
Twilio Meet Up
honkimi
0
100
利用ユーザーからみた Twilio の紹介
honkimi
0
120
Zendesk App を Heroku で作ってみた話
honkimi
0
190
国内における Twilio x Alexa
honkimi
0
830
Other Decks in Technology
See All in Technology
俺の仕事は AIに奪われないし、たぶんその BIも要らない
hikaruri
0
520
バイブコーディング時代のWebアプリ開発入門~Cloud Runで学ぶセキュアなビルドとデプロイ
waiwai2111
1
140
その Lambda、8分で 管理者権限まで奪われます
k1nakayama
6
3.2k
Genieを崇めよ
kameitomohiro
0
170
AI 時代のスタートアップエコシステ厶から考究する技術的負債との向き合い方
m3m0r7
PRO
3
2.3k
ユーザー価値を届け続けるためにウォンテッドリーが大切にしている文化
kotaminato
0
180
アプリログインとWeb認証基盤をつなぐ ASWebAuthenticationSession 作法
shimastripe
1
350
aws-iot-platform-architecture-use-cases.pdf
ma2shita
0
380
幾何アルゴリズムで なめらかなピン操作を / iOSDC Japan 2026 / smoothpin
kazumanagano
0
360
AI coding 整合正規方法
philipz
0
350
Von-Neumann Machines, Dreams & The Futures of IT
ufried
0
110
人間はどの意思決定を手放せるのか
kawasima
15
7.5k
Featured
See All Featured
The Myth of the Modular Monolith - Day 2 Keynote - Rails World 2024
eileencodes
28
3.6k
Unsuck your backbone
ammeep
672
58k
How to make the Groovebox
asonas
2
2.4k
Building Applications with DynamoDB
mza
96
7.2k
Mozcon NYC 2025: Stop Losing SEO Traffic
samtorres
1
550
Speed Design
sergeychernyshev
33
2.1k
What Being in a Rock Band Can Teach Us About Real World SEO
427marketing
0
1.1k
Avoiding the “Bad Training, Faster” Trap in the Age of AI
tmiket
0
240
Getting science done with accelerated Python computing platforms
jacobtomlinson
2
480
It's Worth the Effort
3n
188
29k
Building a Scalable Design System with Sketch
lauravandoore
464
34k
Why Our Code Smells
bkeepers
PRO
340
58k
Transcript
ΫϥυΛ׆༻ͨ͠ WebRTC ίʔϧηϯλʔ ͷ࠷લઢ @kimihom
ຊؒ ߖ @kimihom CTO at selfree,llc TwilioJP-UG ϝϯόʔ CallConnect (ిαϙʔτΛ؆୯ʹ)
ϒϩά “ϘΫίί” ӡӦ https://www.callconnect.jp http://www.bokukoko.info/ Who am Iʁ
Goal “ίʔϧηϯλʔ” ʹ͍ͭͯࣝΛਂΊɺ WebRTC ͕ͲͷΑ͏ʹ׆༻͞Ε࣮ݱ͍ͯ͠Δͷ͔ Λཧղ͠ɺ࣍ͳΔ Cloud Innovation ͷώϯτΛ௫ΜͰ͍ͩͨͩ͘
Topic
Topic • ίʔϧηϯλʔͷྺ࢙ͱΈ • ίʔϧηϯλʔ ͱ WebRTC • WebRTC ίʔϧηϯλʔͷ࣮ྫ
• ऴΘΓʹ
Q. ͦͦి ͳͥͭͳ͕Δͷʁ
Ωʔϫʔυ “ަػ”
A B C ࢢہ൪ ަػ Ұൠి
A B C ࢢ֎ہ൪ ަػ Ұൠి
اۀͷઢిίʔϧηϯλʔΛ ߏங͍ͨ͠߹ʹɺ ిͷ ”γεςϜԽ” ͕ඞཁʹͳΔ
A: ݻఆి B: SIP ϑΥϯ C ࢢ֎ہ൪ IP-PBX ަػ PBX
(اۀަػ) ࣾ ࣾ֎
ࣾͰަػ(PBX)Λ࣋ͭ ϝϦοτ • ઢ௨(௨ྉͷઅ) • දి൪߸ • ઢసૹ • ͦͷଞίʔϧηϯλʔػೳ
(IP-PBX) σϝϦοτ • ઐ༻ PBX / αʔόʔ ͷ ߏங/ӡ༻͕ඞཁ
σϝϦοτΛղܾ͢ΔͨΊʹ ిަػΛ”Ϋϥυ”Խ
A B C Ϋϥυ PBX ަػ
Ϋϥυ PBX ͷϝϦοτ • ࣗࣾͰަػΛ࣋ͭඞཁ͕ͳ͘ͳΔ • ॳظίετɾݻఆࢿ࢈ͷෛ୲Λݮ • ಋೖεϐʔυ͕͍ •
ఆظతͳΞοϓσʔτ
ɹɹɹͷొ
A B C Ϋϥυ PBX ަػ
• Ϋϥυ PBX αʔϏεͱಉͷΈΛ API Ͱɹɹɹ ఏڙ͠ɺ։ൃऀ͕ࣗ༝ʹిγεςϜΛߏஙͰ͖Δ • ిγεςϜͷΈΛ Web
ٕज़ͷΈ Ͱ࣮ݱ ࠶ੜɺసૹɺԻɺอཹɺϓογϡૢ࡞ɺΩϡʔɾɾ • ిճઢ͕ෆཁ • νϟωϧͷ֓೦͕ͳ͍ Voice
ి ͱ Web ͷ͕֞ࠜແ͘ͳΓͭͭ͋Δ
Topic • ίʔϧηϯλʔͷྺ࢙ͱΈ • ίʔϧηϯλʔ ͱ WebRTC • WebRTC ίʔϧηϯλʔͷ࣮ྫ
• ίʔϧηϯλʔͷྺ࢙ͱΈ • ίʔϧηϯλʔ ͱ WebRTC • WebRTC ίʔϧηϯλʔͷ࣮ྫ • ऴΘΓʹ
WebRTC (Web Real-Time Communication)
WebRTC ͰͰ͖Δ͜ͱ • ి • Ի • ϏσΦ௨ • σʔλڞ༗
• ө૾৴ Ϣʔβʔઐ༻ϓϥάΠϯແ͠Ͱར༻Մೳ
σόΠεαʔόͱ (P2P) ܨ͕Δ εϚϗ ΞϓϦ PC ϒϥβ IP-PBX Web
αʔό SIP ϑΥϯ
A B C ަػ
WebRTC ίʔϧηϯλʔͷར • ి ͱ Web ͷ༥߹ • Chrome ͚ͩͰίʔϧηϯλʔΛ࣮ݱͰ͖Δ
> Ձ֨, ಋೖ༰қ, ߴػೳ • ి/ϏσΦ/νϟοτ “ΦϜχνϟωϧԽ”
WebRTC ͷ՝ • ༷͕ݻ·Γ͖Ε͍ͯͳ͍ • γάφϦϯάͷͨΊͷΈ • ωοτϫʔΫͷઐࣝ • Ϣʔβʔڥʹେ͖͘ґଘ
WebRTC ͷ՝ • ༷͕ݻ·Γ͖Ε͍ͯͳ͍ • γάφϦϯάͷͨΊͷΈ • ωοτϫʔΫͷઐࣝ • Ϣʔβʔڥʹେ͖͘ґଘ
3લͷ
WebRTC Ϋϥυ API * WebRTC ࠷৽ͷै * WebRTC ͷίΞ࣮Λ ҙࣝͤͣʹϦΞϧλΠϜ
αʔϏεΛߏஙͰ͖Δ SDK
• Ϋϥυ ”ίϛϡχέʔγϣϯ” API αʔϏε Ի௨ / SMS / ϏσΦ
/ νϟοτ / ௨ / ಉظ / IoT • Add-on Ͱ Watson ͱͷ࿈ܞ༰қ • ࢝Ί͔Βैྔ՝ۚ • શࠃͰษڧձͬͯ·͢ (Twilio-UG)
ैདྷਂ͍ઐੑΛཁͨ͠ “ίϛϡχέʔγϣϯͷٕज़” ͕୭Ͱ API Ͱ࣮ݱՄೳʹ Open Cloud Innovation
Topic • ίʔϧηϯλʔͷྺ࢙ͱΈ • ίʔϧηϯλʔ ͱ WebRTC • WebRTC ίʔϧηϯλʔͷ࣮ྫ
• ίʔϧηϯλʔͷྺ࢙ͱΈ • ίʔϧηϯλʔ ͱ WebRTC • WebRTC ίʔϧηϯλʔͷ࣮ྫ • ऴΘΓʹ
None
“ސ٬ରԠϝʔϧνϟοτͰे”ʁ ސ٬ຬΛٻ͢ΔͳΒ ిϚετɻ ϏδωεΛޭʹಋ͘ ”ث”ͱͳΔπʔϧΛࢦ͢ αʔϏεͷࢥ͍
• ࠃ།Ұͷશ SaaS ܕ WebRTC ίʔϧηϯλʔ • 5Ͱಋೖ/ӡ༻Մೳ • 14ແྉτϥΠΞϧ
• PC ిͱڞʹɺސ٬ใ௨ཤྺΛ Web ্Ͱཧ • ଞΫϥυαʔϏεͱͷ࿈ܞ
DEMO
WebRTC αʔϏεͷӡ༻ • iOS ະରԠ (ݱঢ় iOS Chrome Ͱར༻ෆՄ) •
ϢʔβʔڥΛνΣοΫ͢Δϖʔδ ඞਢ • ϔουηοτͷ࣭ • ωοτϫʔΫ (ଓঢ়ଶ, ಉ࣌ଓ, ཧ) • Ի࣭͕ѱ͍ͱ͍͏͍߹ΘͤΑ͘དྷΔ 98% ωοτϫʔΫϚΠΫͷଓෆྑʹΑΔͷ
Topic • ίʔϧηϯλʔͷྺ࢙ͱΈ • ίʔϧηϯλʔ ͱ WebRTC • WebRTC ίʔϧηϯλʔͷ࣮ྫ
• ίʔϧηϯλʔͷྺ࢙ͱΈ • ίʔϧηϯλʔ ͱ WebRTC • WebRTC ίʔϧηϯλʔͷ࣮ྫ • ऴΘΓʹ
WebRTC ͰԿ͔Λ࡞ΔͳΒɺ Chrome ݶఆʹ͢Δ͔ ΞϓϦݶఆʹ͠Α͏
WebRTC / WebSocket Λ͏ͳΒ ଓΛΒ͞ͳ͍Α͏ʹ Ajax Խ͠Α͏
WebRTC / WebSocket Λ͏ͳΒ ࠷৽ͷ HTML5 ٕज़ΛੵۃతʹऔΓೖΕΑ͏ ServiceWorker, Canvas, HistoryAPI,
File API, WebSpeech API, Device API…
εϚϗΞϓϦ ͕ͯ Web Խ͞Ε͍ͯ͘ Web ΞϓϦ͕ͯ εϚϗΞϓϦͷΑ͏ʹͳΔ
Cloud Innovation جຊٕज़ͷֵ৽͔Βੜ·ΕΔ ਐԽٕͨ͠ज़ͷΈ߹Θͤ ٕज़ͷ”Ҿ͖ग़͠”Λ૿͢͜ͱ͕ॏཁ
JavaScript! JavaScript! JavaScript! + Ϋϥυ API
ϔουηοτ ϓϨθϯτ Ωϟϯϖʔϯ ࣮ࢪதʂ ࠂ ϒʔεग़లதʂ ͜͜Λग़͙ͯ͢લ
Thanks.
ൃද͜͜·ͰͰ͢ɻ ҎԼɺ༧උεϥΠυ
Goal CallConnect ͷ࣮Λ௨ͯ͠ HTML 5 ͷ”ࠓ”ͱ”ํੑ”Λ͍͖ͬͯͨͩɺ ࣍ͳΔ Open Cloud Innovation
ΛੜΈग़͢ ͖͔͚ͬώϯτͱͳΔʹ͢Δ
Topic • ࠷৽ Web ςΫϊϩδʔͱͷ͖߹͍ํ • HTML 5 ςΫϊϩδʔͷ͝հ •
HTML 5 ͷࢦ͢ͱ͜Ζͷߟ
Topic • ࠷৽ Web ςΫϊϩδʔͱͷ͖߹͍ํ • HTML 5 ςΫϊϩδʔͷ͝հ •
HTML 5 ͷࢦ͢ͱ͜Ζͷߟ
None
ΫϩεϒϥβରԠ or HTML 5 ͷ࠷৽ςΫϊϩδʔ ͲͪΒʹ࣌ؒΛׂ͖͔͘ αʔϏε࣍ୈ
ϒϥβαϙʔτΛݶఆ͢Δ Chrome ݶఆΛ໌ه (Φεεϝ)
ϥϯσΟϯάϖʔδ ͷ UA
Topic • ࠷৽ Web ςΫϊϩδʔͱͷ͖߹͍ํ • HTML 5 ςΫϊϩδʔͷ͝հ •
HTML 5 ͷࢦ͢ͱ͜Ζͷߟ
͝հ͢Δ HTML 5 • WebRTC • WebSocket • History API
• Canvas • File API • Web Speech API • Web Notifications • Service Worker • Device API
WebRTC (Web Real-Time Communication)
P2P ͰσόΠεαʔόͱ ””ܨ͕Δ εϚϗ ΞϓϦ PC ϒϥβ PSTN Web αʔό
SIP ϑΥϯ
WebRTC ͰͰ͖Δ͜ͱ • ϏσΦ௨ • ి • Ի • σʔλڞ༗
• ө૾৴ Ϣʔβʔઐ༻ϓϥάΠϯແ͠Ͱར༻Մೳ
WebRTC • σόΠεͷϚΠΫ/ΧϝϥΛར༻ (UserMedia) • ϒϥβͰϦΞϧλΠϜ௨ (RTCPeerConnection) • ςΩετόΠφϦσʔλͷૹड৴ (DataChannel)
“୭ͱ"ଓ͢Δ͔Λࢦఆ͢Δ࣮ࣗͰ༻ҙ͠ͳ͚ΕͳΒͳ͍ “γάφϦϯά”
՝ ωΠςΟϒ࣮ͷෳࡶ͞ ωοτϫʔΫͷઐࣝ ଓͷͨΊͷઐ༻αʔόʔ ϒϥβґଘ ϢʔβʔͷϚΠΫ ڥ
͜͜·Ͱ 3લͷ
WebRTC ΫϥυαʔϏε • Twilio • SkyWay • Tropo WebRTC ࠷৽ͷै
WebRTC ͷίΞ࣮Λ ҙࣝͤͣʹϦΞϧλΠϜ αʔϏεΛߏஙͰ͖Δ SDK
// ॳظԽ Twilio.Device.setup(“Twilio Token”); // ॳظԽྃ࣌ Twilio.Device.ready(function (device) { console.log("ண৴Մೳ");
} // ண৴࣌ Twilio.Device.incoming(function (conn) { conn.accept(); // ௨։࢝ } // ௨։࢝࣌ Twilio.Device.connect(function (conn) { console.log("௨த"); }); ߦͷίʔυͰϦΞϧλΠϜ௨৴ػೳΛ࣮ݱʂ
DEMO UserMedia ͱ RTCPeerConnection
WebRTC αʔϏεͷӡ༻ • iOS ະରԠ (ݱঢ় iOS Chrome Ͱར༻ෆՄ) •
ϢʔβʔڥΛνΣοΫ͢Δϖʔδඞਢ • ϔουηοτͷ࣭ • ωοτϫʔΫ (ଓঢ়ଶ, ಉ࣌ଓ, ཧ) • Ի࣭͕ѱ͍ͱ͍͏͍߹ΘͤΑ͘དྷΔ 98% ωοτϫʔΫϚΠΫͷଓෆྑʹΑΔͷ
WebRTC ͷࠓޙ (͔ͳΓ׆ൃ) • ҆ఆɺηΩϡΞ • εΫϦʔϯڞ༗ • canvas
video ཁૉͱͷ༥߹ • ը
WebSocket
A: Hello A: Hello A B αʔόʔ͔ΒಛఆͷΫϥΠΞϯτ(B)ʹϝοηʔδΛૹ৴͍ͨ͠…
A: Hello WebSocket ϓϩτίϧ A B WebSocket ͰଓΛཱ֬
WebSocket • αʔόʔ/ϒϥβͷํσʔλ௨৴ • ςΩετ/όΠφϦͷૹड৴ • https ͱผͷ WebSocket ϓϩτίϧ
(wss) ͰଓΛཱ֬
WebSocket ͰͰ͖Δ͜ͱ(ྫ) • νϟοτ • ϦΞϧλΠϜ௨ • ڞ༗Ϙʔυ • Ϣʔβʔಉ࢜ͷ͋ΒΏΔίϥϘϨʔγϣϯ
՝ ωοτϫʔΫڥґଘ ϒϥβґଘ ଓͷͨΊͷ WS ༻αʔόʔ
WebSocket ΫϥυαʔϏε • Twilio • Node-RED • Milkcocoa • Firebase
• … ઐ༻αʔόෆཁ εέʔϧରԠ SDKͰ։ൃޮԽ
// ॳظԽ accessManager = new Twilio.AccessManager(data.token); messagingClient = new Twilio.IPMessaging.Client(accessManager);
// channel ͷऔಘ messagingClient.getChannel().then(initChannel); // channel ͷΠϕϯτ function initChannel(channel) { channel.on('messageAdded', function(message) { console.log(message); }); }
DEMO
WebSocket αʔϏεͷӡ༻ • PC ΛεϦʔϓͨ͠Γ͢Δͱଓ͕ΕΔ “ଓ͕Εͨɻߋ৽ͯ͠” ͱ͍͏දࣔΛඞͣೖΕΔ • اۀͷωοτϫʔΫڥʹҙ ϙʔϦϯάͷସͱΈ߹ΘͤΔඞཁ͋Γ
ແཧʹ WebSocket ΛΘͳͯ͘ɺ“ϖʔδߋ৽” Ͱ ղܾͰ͖ΔͳΒͦͷ΄͏͕͍͍ (χϡʔεܝࣔ൘ͳͲ)
WebRTC WebSocket Λ͏ͱ γϯάϧϖʔδΞϓϦέʔγϣϯ (SPA) લఏͱͳΔ SPA ͦͷଞͷཧ༝ Ϣʔβʔମݧ্
ωοτϫʔΫෛՙܰݮ εϚϗΞϓϦԽ
SPA ͷಛ • େྔͷΠϕϯτΛ JavaScript Ͱఆٛ • ϖʔδ͝ͱͷ js/css ͕ఆٛͰ͖ͳ͍
(Ұׅ) • Δ/ਐΉͷಈ࡞Λߟྀ
͜ΕΒΛఆͯ͠ߏங͞Εͨ SPA ϑϨʔϜϫʔΫ • React.js • AngularJS • Vue.js •
JS ϑϨʔϜϫʔΫͷ૪ઈ͑ͳ͍ɾɾɻ
History API
History API • ϢʔβʔͷϖʔδભҠΛ Stack ͰੵΈ্͛Δ • Δ/ਐΉ ΠϕϯτͷఆٛͰࢦఆ URL
/ ύϥ ϝʔλΛऔಘ • URL ʹԠͨ͡ϖʔδΓସ͑ࣗͰ࣮
// Stack ੵΈ্͛ History.pushState(option, title, url); // Stack มԽ࣌ͷΠϕϯτఆٛ History.Adapter.bind(
window, ‘statechange’, function() { let state = History.getState(); let url = state.cleanUrl; console.log(url) //=> /posts/1 // URL ʹجͮ͘ϧʔςΟϯά }); History.js Ͱͷ࣮ྫ
DEMO
History API ͷ࣮ • ࣗલͰ࣮Ͱಛʹ͘͠ͳ͍ • ΩϟογϡͷΈΛߏஙՄ • ࣗલ SPA
ͷ߹࠷ॳʹඞͣߟྀ͠Α͏
Web Notifications Service Worker
Web Notifications • ͍ΘΏΔ σεΫτοϓ௨ • ࠷ۙ௨ʹϘλϯΞΠίϯͳͲΛࡌՄ • ௨ΫϦοΫ࣌ͷಈ࡞Λఆٛ •
ServiceWorker ͱΈ߹ΘͤΔ͜ͱͰ εϚϗ௨Մ
Service Worker • όοΫάϥϯυͰಈ͘ JavaScript • ࠓॳΊ͘Β͍͔Β͞Ε࢝ΊΔ • ΦϑϥΠϯରԠ/Ωϟογϡ/ϓογϡ௨ ϓογϡ௨ͷཚ༻Ί·͠ΐ͏ʂ
// ServiceWorker ͷొ navigator.serviceWorker.register(‘/sw.js'); // ௨ൃߦ navigator.serviceWorker.ready.then(function(registration) { registration.showNotification('௨', {
icon: '/icon.png', body: name + 'ΑΓண৴͕͋Γ·͢ɻ', vibrate: [200, 100, 200, 100, 200, 100, 200] }); });
self.onnotificationclick = function(event) { event.notification.close(); event.waitUntil( clients.matchAll({ includeUncontrolled: true }).then(function(clientList)
{ for (var i = 0; i < clientList.length; i++) { var client = clientList[i]; if (client.url.match('myapp') && 'focus' in client) { return client.focus(); } } }); ); }; sw.js
DEMO εϚϗϓογϡ௨
File API
File API • ϑΝΠϧબυϥοά&υϩοϓ • JavaScript ͰϑΝΠϧऔಘɺૢ࡞
ϑΝΠϧૢ࡞ΛϑϩϯτΤϯ υͰղܾ αʔόʔෛՙͷԼ Ϣʔβʔମݧͷ্
ྫ) ը૾ΞοϓϩʔυͷྲྀΕ • ը૾Λυϥοά & υϩοϓ (File API) • ϑΝΠϧλΠϓͷνΣοΫ
(File API) • ը૾ͷϦαΠζ (Canvas) • Cropper.js Ͱॎԣൺͷௐ • ը૾αʔόΞοϓϩʔυ (CORS) શͯ JavaScript Ͱ࣮Մೳ
// imagefield dragover $(document).on("dragover", ".droparea", function(e) { e.preventDefault(); $(".droparea").addClass("hover"); });
// imagefield dragleave $(document).on("dragleave", “.droparea", function(e) { e.preventDefault(); $(".droparea").removeClass("hover"); }); // imagefield drop $(document).on("drop", ".droparea", function(e) { e.preventDefault(); var file = e.originalEvent.dataTransfer.files[0]; });
DEMO ࣮ํ๏”ݸਓϒϩά”ʹͯ
Canvas
Canvas • JavaScript Ͱඳ͚Δ 2D ඳըϥΠϒϥϦ • ௨ৗͷ HTML Ͱදݱ͠ʹ͍͘ͷΛॊೈʹ
දࣔͰ͖Δ
Canvas ≠ άϥϑΟοΫ/ήʔϜઐ จࣈɺਤܗɺΫϦοΫΠϕϯτ ͋ΒΏΔΞϓϦέʔγϣϯͰ ΑΓΘ͔Γ͍͢ UI Λ࣮ݱͰ͖Δ
Canvas ༻ϥΠϒϥϦ • Fabric.js • jCanvas • άϥϑΟοΫ/ήʔϜ༻Ͱͦͷଞଟ
DEMO
Canvas ͷ࣮ • ࠶ඳըͷͨΊʹ σʔλΛJSON ܗࣜͰอଘ͠ ࠶ݱ͢Δͷ͕࣮ͷࢁ (Fablic.js ඪ४ࡌ) •
px ୯ҐͳͨΊ ϨεϙϯγϒԽ͕͍͠ • ςΩετϘοΫεͳͲͷ HTML ϑΥʔϜຒΊ ࠐΈෆՄ
Web Speech API
Web Speech API • Chrome, Firefox ͷ࣮ݧஈ֊ͷػೳ • ϒϥβࡌ •
Text to Speech, Speech to Text • අ༻ 0 & ੍ͳ͠
• ਫ਼ׂͱߴ͍ • ݱঢ়్தͰউखʹจࣈى͕͜͠ࢭ·ͬͨΓ͢ ΔͨΊɺͣͬͱԻ͢ΔʹԿ͔͠ΒͷϋοΫ ͕ඞཁ • વ ͠૬खͷͳͲऔಘෆՄɻ ->
ͦͷ࣌ ͪΖΜ Watson Ͱɻ
// ॳظԽ let recognition = new webkitSpeechRecognition(); recognition.lang = 'ja-JP';
recognition.continuous = true; // ։࢝ recognition.start(); // ݁Ռ recognition.onresult = function(event){ let results = event.results; var message = ""; for (var i = event.resultIndex; i < results.length; i++){ message += results[i][0].transcript; } console.log(message); };
DEMO https://www.google.com/intl/ja/chrome/demos/speech.html
Web Speech API ͷར༻ • ձͷॻ͖ى͜͠Ͱᘳͳਫ਼ෆՄೳ • จΛܗ͢ΔΑ͏ͳٕज़ΛΈ߹ΘͤΔͱྑ͍
Device API
• ͋ΒΏΔใΛ ϒϥβͰऔಘ • Ґஔใɺ֤ηϯαใɺόοςϦɺόΠϒ • ϚΠΫग़ྗσόΠε …etc https://developer.chrome.com/apps/api_index
• Web ΞϓϦͷ ”εϚϗΞϓϦ” Խ • Web ΞϓϦΛ࡞Εɺ֤ϓϥοτϑΥʔϜʹ ґଘ͠ͳ͍αʔϏεΛల։Մ •
֤σόΠε, OS, ϒϥβͷରԠʹظ
Topic • ࠷৽ Web ςΫϊϩδʔͱͷ͖߹͍ํ • HTML 5 ςΫϊϩδʔͷ͝հ •
HTML 5 ͷࢦ͢ͱ͜Ζͷߟ
Cloud Innovation جຊٕज़ͷֵ৽͔Βੜ·ΕΔ ਐԽٕͨ͠ज़ͷΈ߹Θͤ
ٕज़ͷҾ͖ग़͠Λ૿͢
εϚϗΞϓϦ ͕ͯ Web Խ͞Ε͍ͯ͘ Web ΞϓϦ͕ͯ εϚϗΞϓϦͷΑ͏ʹͳΔ
JavaScript, JavaScript, JavaScript. + API
Thanks.