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
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
84
Twilio iOS 徹底攻略
honkimi
1
1.4k
2021年 Twilio Voice 報告
honkimi
0
390
WebRTC ビジネスの失敗と成功
honkimi
2
1.9k
最近の Twilio トレンド報告
honkimi
0
450
Twilio Meet Up
honkimi
0
110
利用ユーザーからみた Twilio の紹介
honkimi
0
120
Zendesk App を Heroku で作ってみた話
honkimi
0
200
国内における Twilio x Alexa
honkimi
0
830
Other Decks in Technology
See All in Technology
不可逆な意思決定を避けながら10億超の顧客データを AI Ready にするデータ基盤設計
baseballyama
1
200
MCPゲートウェイを作って運用してわかったこと — Agent時代の権限管理の現在地
mtpooh
10
3.2k
生成AIで高い生産性を求められて、 悩み、乗り越えた話
mot_techtalk
2
130
2026-10-01_MagicPod_QAハーネスエンジニアリングとQA組織の未来像
ynisqa1988
1
570
DWH の限界突破! AI エージェント向け爆速リアルタイムデータ基盤 ClickHouse
jozono
1
300
全PRの83%が AIレビューだけでマージできるようになった開発組織は その後どうなったか @2026/10
athug
0
130
宣言型部分更新は何を解決しどこへ向かうのか
shuta13
0
150
AI駆動開発の時代になったのでトヨタ生産方式から見直す
terurou
5
5.2k
自主式軟體工廠
philipz
0
240
"優秀な誰か"の下位互換にならないために
yut0naga1_fa
0
160
オブザーバビリティを高める AI エージェント体験を考える / Designing AI Agent Experiences That Enhance Observability
aoto
PRO
2
320
無理せず続ける、子育てエンジニアの学び
codmoninc
PRO
0
500
Featured
See All Featured
A Soul's Torment
seathinner
8
3.7k
Leading Effective Engineering Teams in the AI Era
addyosmani
9
2.7k
The Art of Delivering Value - GDevCon NA Keynote
reverentgeek
16
2.2k
Designing Powerful Visuals for Engaging Learning
tmiket
1
600
For a Future-Friendly Web
brad_frost
184
10k
The Spectacular Lies of Maps
axbom
PRO
1
1.1k
Docker and Python
trallard
47
4.2k
How to train your dragon (web standard)
notwaldorf
96
6.9k
Amusing Abliteration
ianozsvald
1
330
The B2B funnel & how to create a winning content strategy
katarinadahlin
PRO
1
550
The World Runs on Bad Software
bkeepers
PRO
72
12k
SEO Brein meetup: CTRL+C is not how to scale international SEO
lindahogenes
2
2.9k
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.