Upgrade to PRO for Only $50/Year—Limited-Time Offer! 🔥
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
AngularJSとWeb Audio APIはじめてみました
Search
Kenichiro Okada
August 30, 2015
Technology
0
370
AngularJSとWeb Audio APIはじめてみました
Angular meetup #2での資料です
Kenichiro Okada
August 30, 2015
Tweet
Share
More Decks by Kenichiro Okada
See All by Kenichiro Okada
将来を語るのが苦手なメンバーと向き合ってわかったこと
pastelinc
0
17
探索的なスタイルでフィードバックを使って、学びを豊かにしてみよう!
pastelinc
0
50
100%の傾聴を実践する
pastelinc
0
110
組織を変革する最初の一歩に躓いたけど、それはそれで良かった話
pastelinc
1
1.5k
ひとりでも安定して 組織を変える活動を続けていくための ストレスマネジメント
pastelinc
0
2.1k
慣習から旅立つチーム
pastelinc
0
1.4k
Progressive Web Apps
pastelinc
0
400
AngularJSを通してDockerと触れ合った
pastelinc
0
980
Other Decks in Technology
See All in Technology
なぜ あなたはそんなに re:Invent に行くのか?
miu_crescent
PRO
0
210
AI との良い付き合い方を僕らは誰も知らない
asei
0
270
AWSの新機能をフル活用した「re:Inventエージェント」開発秘話
minorun365
2
460
SREが取り組むデプロイ高速化 ─ Docker Buildを最適化した話
capytan
0
150
通勤手当申請チェックエージェント開発のリアル
whisaiyo
3
470
モダンデータスタックの理想と現実の間で~1.3億人Vポイントデータ基盤の現在地とこれから~
taromatsui_cccmkhd
2
270
MariaDB Connector/C のcaching_sha2_passwordプラグインの仕様について
boro1234
0
1k
20251218_AIを活用した開発生産性向上の全社的な取り組みの進め方について / How to proceed with company-wide initiatives to improve development productivity using AI
yayoi_dd
0
670
Identity Management for Agentic AI 解説
fujie
0
470
アプリにAIを正しく組み込むための アーキテクチャ── 国産LLMの現実と実践
kohju
0
230
事業の財務責任に向き合うリクルートデータプラットフォームのFinOps
recruitengineers
PRO
2
220
Bedrock AgentCore Memoryの新機能 (Episode) を試してみた / try Bedrock AgentCore Memory Episodic functionarity
hoshi7_n
2
1.9k
Featured
See All Featured
The Myth of the Modular Monolith - Day 2 Keynote - Rails World 2024
eileencodes
26
3.3k
The Mindset for Success: Future Career Progression
greggifford
PRO
0
200
A Guide to Academic Writing Using Generative AI - A Workshop
ks91
PRO
0
170
How To Speak Unicorn (iThemes Webinar)
marktimemedia
1
340
How to Ace a Technical Interview
jacobian
281
24k
Information Architects: The Missing Link in Design Systems
soysaucechin
0
720
We Analyzed 250 Million AI Search Results: Here's What I Found
joshbly
0
270
Scaling GitHub
holman
464
140k
How to build a perfect <img>
jonoalderson
0
4.7k
Hiding What from Whom? A Critical Review of the History of Programming languages for Music
tomoyanonymous
0
310
Abbi's Birthday
coloredviolet
0
3.8k
ラッコキーワード サービス紹介資料
rakko
0
1.8M
Transcript
AngularJSͱWeb Audio API ͡ΊͯΈ·ͨ͠
ࣗݾհ
pastelInc ژࡏॅ ࣄͰPHP ΑΖ͓͘͠ئ͍͠·͢
ࠓͷඪ
• Web Audio APIͷϫΫϫΫΛײͯ͡Β͏ • AngularͰ͑Δ͜ͱΛͬͯΒ͏ • Web Audio APIΛҰճ৮Γ͍ͨͱࢥͬͯΒ
͏
Web Audio APIͷ ৺͕༂ΔαʔϏεୡ
X-Sound https://github.com/Korilakkuma/X-Sound
Audio Trackr https://github.com/chrisbateman/Audio-Trackr
ઌͷYAPCʹͯ
WebAudio 300bps FSK modem https://github.com/cho45/WebAudio-Modem http://cho45.stfuawsc.com/WebAudio-Modem/FSK/modem.html
AngularҎ֎ʹͪΖΜ͋Γ·͢ http://chromium.googlecode.com/svn/ trunk/samples/audio/index.html
Web Audio API ͷ͜ͱΛΔ
Web Audio APIͷඪ • WebϕʔεͷήʔϜɺΠϯλϥΫςΟϒͳମ ݧΛఏڙ͢Δ • ϛΩγϯάɺϓϩηγϯάɺϑΟϧλϦϯάॲ ཧػೳΛͨͤΔ
Web Audio APIͷػೳ • ϨΠςϯγʔͳԻͷ࠶ੜ • JavaScriptͰͷΦʔσΟΦετϦʔϜͷ߹ͱՃ • ҟͳΔAudioNodeΛҙʹܨ͛Δػೳ ʢϞδϡϥʔϧʔςΟϯάʣ
• 3DήʔϜΛαϙʔτ͢ΔۭؒԻڹʹυοϓϥʔͱ͔ • ΦγϨʔλʹൃৼث ʢपظੑΛͭ࣋ଓతͳৼಈΛൃੜͤ͞Δஔʣ
ϞδϡϥʔϧʔςΟϯάʁ
ྫ
ϞδϡϥʔϧʔςΟϯά • ͯ͢ͷଓAudioContext෦ͰߦΘΕΔ • ιʔεϊʔυʹೖྗ͕ͳ͍ • σΟεςΟωʔγϣϯϊʔυʹग़ྗ͕ͳ͍ • σΟεςΟωʔγϣϯϊʔυ͕࠷ऴతͳΦʔσΟΦϋʔ υΣΞʹͭͳ͕Δ
• ϑΟϧλͳͲͷϊʔυ͜ͷ̎ͭͷؒʹஔ͢Δ
AudioNode • ೖྗग़ྗΛ࣋ͭ • ೖྗΛॲཧ͠ɺग़ྗʹΦʔσΟΦ৴߸ΛૹΓ ग़͢ • ग़ྗ1ͭҎ্ͷνϟϯωϧΛ࣋ͭ • ෳͷೖྗʹରͯ͋͠͠ΘͤΛߦ͏
ιʔεͱͳΔAudioNode • OscillatorNode ʹൃৼثɻपظతͳܗΛग़ྗɻपͱܗઃఆ͕Ͱ͖Δ • AudioBufferSourceNode ʹόοϑΝσʔλΛग़ྗɻ࠶ੜɺϧʔϓઃఆ͕Ͱ͖Δ • MediaElementAudioSourceNode ʹaudioλάΛιʔεʹͯ͠ग़ྗɻ
• MediaStreamAudioSourceNode =WebRTCͷMediaStreamΛιʔεʹग़ྗɻϚΠΫ৴߸ͳͲ
AudioContext • Web Audio APIͷى • AudioNodeͷ࡞Λ੍ޚ͢Δ • ೖग़ྗ༻ͷAudioNodeͷੜ͔͜͜Β •
ҰͭͷΠϯελϯεͰෳͷೖྗʹରԠͰ͖ Δ
Πϝʔδͣ͠Β͍ ͱࢥͬͨΒ
Web Audio PlayGround https://github.com/cwilso/WebAudio
Web Audio APIͷ ͡Ί͔ͨ in Angular
ࡐ • ਖ਼ݭϓϨΠϠʔ • ؆୯ͳྫͰϞδϡϥʔϧʔςΟϯάΛཧղ͢ Δ • start/stopϘλϯͰൃੜΛίϯτϩʔϧ • ৼ෯ௐઅػೳ͚ͭΔ
ܨ͛Δϊʔυͨͪ • ιʔεϊʔυ ʹOscillatorNode • ϘϦϡʔϜૢ࡞ ʹGainNode • σεςΟωʔγϣϯϊʔυ ʹAudioDestinationNode
ਤʹ͢Δͱ
context • factoryϝιουͰAudioContextΛαʔϏεʹ ొ • ҰΠϯελϯεΛ࡞ͨ͠ΒͦΕ͖ͬΓͰ ͍͍ • AudioContextΛϥοϓͯ͋͛͠Δ͚ͩ
oscillator • ਖ਼ݭΛίϯτϩʔϧ͢ΔαʔϏε • start/stop/volumeΛίϯτϩʔϧͰ͖Δ
player • ΧελϜdirectiveʹ࣮ • ϢʔβʔͷϘλϯΫϦοΫʹ߹ΘͤͯΦγϨʔ λΛ͏
ਖ਼ݭฉ͑ͨ͜ʂ
stopͯ͠࠶start
Ͱ͖ͳ͍ʂ
ͳͥͳΒ • Ұstart→stopͤͨ͞ιʔεϊʔυ࠶ ࡞ͬͯଓͯ͋͛͠ͳ͍ͱ͍͚ͳ͍ • Ұstartͨ͠ιʔεϊʔυʹ࠶startΛ͢Δ ͱΤϥʔͳͷͰ࠶start͢ΔલʹstopΛߦ ͏
Ͳ͏͢Δ͔ • stopͨ͠λΠϛϯάͰ࠶ΦγϨʔλͷ࡞ ɺଓΛߦ͏ • $watchͰϓϨΠϠʔͷ࠶ੜঢ়گΛνΣοΫ͠ ͯstopͨ͠λΠϛϯάʹˢΛߦ͏ • playerʹ࣮ͨ͠
݁Ռ
ࠔͬͨ • GainNodeҎ֎ͷAudioNode͕૿͑ͨͱ͖Ͳ ͏͢Δͷ͔ • start/stopͷνΣοΫdirective?service?Ͳͪ Βʹॻ͘ͷ͔໎ͬͨ • Իָ৴߸ॲཧͷઐ༻ޠ͕ଟͯ͘ΦʔσΟ ΦɺԻʹؔ͢Δ͕ࣝٻΊΒΕΔ
·ͱΊ • Web Audio API͢Ͱʹଟ࣮͘ྫ͕͋Δ ϥΠϒϥϦزΒ͔͋Δ • AudioContext͕ར༻ͷىʹͳΔ • OscillatorNodestopΛ࣮ߦ͢Δͱ࠶ੜ͠
ͯ͋͛Δඞཁ͕͋Δ
ษڧͨ͠ใݩ • https://webmusicdevelopers.appspot.com/ codelabs/webaudio/index.html?ja-jp • http://g200kg.github.io/web-audio-api-ja/ • http://mmckegg.github.io/web-audio-school/ • http://qiita.com/mohayonao/items/
d79e9fc56b4e9c157be1
͝੩ௌ ͋Γ͕ͱ͏͍͟͝·ͨ͠ʂ