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
実際にSoundJSを使ってみて分かったこと
Search
Sponsored
·
SiteGround - Reliable hosting with speed, security, and support you can count on.
→
448jp | OKI Yoshiya
July 29, 2013
Programming
4.2k
1
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
実際にSoundJSを使ってみて分かったこと
第4回 CreateJS勉強会 発表資料
448jp | OKI Yoshiya
July 29, 2013
Transcript
27 slides
実際に SoundJSを 使ってみて分かったこと 沖 良矢(世路庵) 2013.7.26 (Fri) 第4回 CreateJS勉強会
自己紹介 沖 良矢 / OKI Yoshiya @448jp インタラクションデザイナー UNIQLO HAPPY
GIFT (2013) Web Designing (2009~) McCANN WG JAPAN (2012)
今日話すこと SoundJS、基本の「き」 サウンドを再生する仕組み ファイル形式に注意!
SoundJS、基本の「き」 とりあえず音を鳴らしてみよう
SoundJSを 使ったことありますか?
サウンドを再生する createjs.Sound.addEventListener("fileload", fileLoadHandler); createjs.Sound.registerSound("bgm.mp4"); function fileLoadHandler(e) { createjs.Sound.play(e.src); console.log(e); //
{target: function, type: "fileload", src: "bgm.mp4", id: undefined, data: 2} };
SoundJSの動作に canvas要素やEaselJSは不要です。 (もちろん使ってもOK)
複数のサウンドを再生する createjs.Sound.addEventListener("fileload", fileLoadHandler); createjs.Sound.registerSound("bgm.mp4", "bgm"); createjs.Sound.registerSound("se.mp3", "se"); function fileLoadHandler(e) {
createjs.Sound.play("bgm"); //createjs.Sound.play("se"); };
PreloadJSとの組み合わせ var queue = new createjs.LoadQueue(false); queue.installPlugin(createjs.Sound); queue.addEventListener("complete", handler); var
manifest = [ {src: "bgm.mp4", id: "bgm"}, {src: "se.mp3", id: "se"} ]; queue.loadManifest(manifest); function handler(e) { queue.removeEventListener("complete"); createjs.Sound.play("bgm"); }
サウンドを再生する仕組み 動作原理を理解しよう
ところで、 SoundJSは どうやって サウンドを 再生しているのでしょう?
SoundJSのプラグイン HTMLAudioPlugin WebAudioPlugin FlashPlugin
SoundJSを支える3つのテクノロジー <audio> Web Audio Flash
つまり、 Webブラウザが audio要素、 Web Audio、 Flash、 のいずれかを サポートしている 必要があります。
プラグインを指定する createjs.Sound.registerPlugins([ createjs.WebAudioPlugin, createjs.HTMLAudioPlugin, createjs.FlashPlugin ]); createjs.Sound.addEventListener("fileload", fileLoadHandler); createjs.Sound.registerSound("bgm.mp4"); function
fileLoadHandler(e) { createjs.Sound.play(e.src); };
audio要素のサポート状況 via. http://caniuse.com
Web Audioのサポート状況 via. http://caniuse.com
Flashのサポート状況 言わなくても 分かりますね
SoundJSのテスト環境 Internet Explorer 9、10 Chrome Firefox
Safari Opera iOS 6以上 Android Chrome ※FlashPluginを使うとInternet Explorer 7、8も動作可能。 ※BlackBerryブラウザでも簡易テストをしています。
ファイル形式に注意! 鳴らない、サウンド
SoundJSが想定しているファイル形式 mp3 ogg mpeg wav m4a mp4 aiff wma mid
ファイル形式のサポート状況 Webブラウザ MP3 WAV PCM WebM Vorbis AAC Ogg Vorbis
Internet Explorer 9 × × 9 × Google Chrome ◦ ◦ ◦ ◦ ◦ Firefox 21 & Win ◦ ◦ 21 & Win ◦ Opera ◦ ◦ ◦ ◦ ◦ Safari ◦ ◦ × ◦ ◦ ※Internet Explorer以外は基本的に最新バージョンを想定。
複数のファイル形式を指定する その1 createjs.Sound.addEventListener("fileload", fileLoadHandler); createjs.Sound.registerSound("bgm.mp4|bgm.wav"); function fileLoadHandler(e) { createjs.Sound.play(e.src); };
複数のファイル形式を指定する その2 var queue = new createjs.LoadQueue(false); queue.installPlugin(createjs.Sound); queue.addEventListener("complete", handler);
var manifest = [ {src: "bgm.mp4", id: "bgm"}, {src: "bgm.wav", id: "bgm"}, {src: "se.mp3", id: "se"}, {src: "se.wav", id: "se"} ]; queue.loadManifest(manifest); function handler(e) { queue.removeEventListener("complete"); createjs.Sound.play("bgm"); }
まとめ 実際にSoundJSを使ってみて分かったこと
まとめ 意外とカンタン プラグインとファイル形式には注意が必要 モバイルでは時期尚早かもしれない
Thank you ! Photo Credit: Lst1984 Marco Bellucci Abdulmajeed Al.mutawee
More Decks by 448jp | OKI Yoshiya
See All by 448jp | OKI Yoshiya
Vue Fes Japan 2026 タイムテーブル徹底解説
448jp
1
1k
今から始めるClaude Code超入門
448jp
8
11k
人はなぜコミュニティとつながると幸せを感じるのか
448jp
3
550
Webデザイナーが押さえておきたいエンジニアとの連携ポイント
448jp
0
4.4k
合意形成のためのFigma活用術
448jp
1
290
書く・即・DONEな仕組みをNuxtで作る
448jp
0
500
神速でワイヤーフレームを作るためのライブラリ
448jp
1
980
Figmaで神速ドキュメント作成術
448jp
3
2.9k
今から始めるFigma超入門
448jp
0
1.8k
Other Decks in Programming
See All in Programming
Vue.jsで作る空間解析アプリとCapacitorプラグインのData Bridge
hal_spidernight
1
170
高橋メソッドでCVE解説シリーズ 〜CVE-2026-112816〜
hakkadaikon
0
250
Snowflake Openflow Connector利用の勘所 / 20261024developersio2026tokyo-snowflake-openflow
kasacchiful
PRO
0
330
あなたの await、OS まで届いてる? strace で覗く JavaScript の非同期
hasutosasaki
1
2.3k
Zero-Tap Sign-In対応、結局何をすればいいの?
mitohato14
0
2.1k
Optunaを作ったときにやりたかったこと、その後 (2026/10/16, Optuna Meetup #3)
iwiwi
4
1.5k
学びを記事・スライド・Xへ高速展開する― AI-assisted Learning Loopで回すコンテンツ生成術
ochtum
0
210
自作Discord音声botをLambda MicroVMsに移行した話 / Migrating My Discord Voice Bot to Lambda MicroVMs
akihisaikeda
1
310
當我們開始不讀 Code - AI Agent 時代,Code Review 與 Clean Code 還剩下什麼?
jame2408
1
370
クラウドエージェントは、 何がそんなに便利なのか / what makes cloud agents so useful
rkaga
5
850
DroidKnights 2026 Android A2UI Jetpack Compose 기반의 안전한 AI UI 렌더링 - 박제창
itsmedreamwalker
1
230
LLM 101: Exploring LLMs, Starting with Tokens.
dalinaum
0
110
Featured
See All Featured
The Invisible Side of Design
smashingmag
301
52k
B2B Lead Gen: Tactics, Traps & Triumph
marketingsoph
1
300
State of Search Keynote: SEO is Dead Long Live SEO
ryanjones
0
350
Code Review Best Practice
trishagee
74
20k
Measuring Dark Social's Impact On Conversion and Attribution
stephenakadiri
2
330
Primal Persuasion: How to Engage the Brain for Learning That Lasts
tmiket
0
520
Ruling the World: When Life Gets Gamed
codingconduct
0
440
Keith and Marios Guide to Fast Websites
keithpitt
413
23k
Refactoring Trust on Your Teams (GOTO; Chicago 2020)
rmw
35
3.9k
Agile Leadership in an Agile Organization
kimpetersen
PRO
0
310
AI Search: Implications for SEO and How to Move Forward - #ShenzhenSEOConference
aleyda
1
1.4k
Sharpening the Axe: The Primacy of Toolmaking
bcantrill
46
3.1k