SlideShare a Scribd company logo
1 of 25
video要素とaudio要素
JavaScriptでvideoとaudioを
コントロール
Copyright Ⓒ Yoshihiro Takahashi 2012 All Rights Reserved.
2
映像ファイルの制御
Copyright Ⓒ Yoshihiro Takahashi 2012 All Rights Reserved. 3
映像の制御の方法
• HTML5の機能である「videoタグ」を利用
して、映像の再生が可能
• 制御は、JavaScriptで行うことが出来る
Copyright Ⓒ Yoshihiro Takahashi 2012 All Rights Reserved.
4
まずは
videoタグを確認
Copyright Ⓒ Yoshihiro Takahashi 2012 All Rights Reserved. 5
videoタグ
• 基本の記述
• 値が必要な属性
– width, height
• 値が不要な属性
– autoplay, controls, loop, muted
<video src=“ファイル名”属性></video>
Copyright Ⓒ Yoshihiro Takahashi 2012 All Rights Reserved. 6
ファイルフォーマットの問題
• 対応映像フォーマット(http://caniuse.com/#search=video)
– H.264(拡張子 mp4)
• IE、Safari、Chromeの最新版でサポート
– WebM(拡張子 wevm)
• Chrome、Firefox、Operaの最新版でサポート
• 問題点
– 両フォーマットに対応したブラウザは、
Chromeのみ
Copyright Ⓒ Yoshihiro Takahashi 2012 All Rights Reserved. 7
現実的な記述方法
• videoタグ内にsourceタグを記述
<video 属性たち・・・>
<source src=“ファイル名.mp4”>
<source src=“ファイル名.wevm”>
</video>
Copyright Ⓒ Yoshihiro Takahashi 2012 All Rights Reserved.
8
JSによる制御
Copyright Ⓒ Yoshihiro Takahashi 2012 All Rights Reserved. 9
コントローラを付けてみよう
• 映像の操作
– 映像ファイルの中には、再生ヘッド(のイ
メージ)が存在します。
– 再生ヘッドを制御することが、映像を制御す
ることになります。
• JSによる映像操作
– videoタグを「HTMLVideoElement」という
オブジェクトとして利用
– getElementByIdなどでオブジェクトを作成。
Copyright Ⓒ Yoshihiro Takahashi 2012 All Rights Reserved. 10
コントローラを付けてみよう
• 再生ヘッドの一時停止と再開
– オブジェクト.pause();
• 再生ヘッド移動を一時停止
– オブジェクト. play();
• 再生ヘッド移動を再開
Copyright Ⓒ Yoshihiro Takahashi 2012 All Rights Reserved.
11
一時停止と再生を
一つのボタンに
まとめる
Copyright Ⓒ Yoshihiro Takahashi 2012 All Rights Reserved.
12
If文と変数で
実現できます
Copyright Ⓒ Yoshihiro Takahashi 2012 All Rights Reserved.
13
この変数を
フラグと言います
Copyright Ⓒ Yoshihiro Takahashi 2012 All Rights Reserved. 14
コントローラを付けてみよう
• 戻る・進む などの機能を追加する
– オブジェクト.currentTime
• 再生ヘッドの場所を知る
– オブジェクト.currentTime = 秒
• 再生ヘッドを移動する
Copyright Ⓒ Yoshihiro Takahashi 2012 All Rights Reserved.
15
音量ON/OFF
Copyright Ⓒ Yoshihiro Takahashi 2012 All Rights Reserved. 16
音量設定
• 音量ON/OFF設定
– オブジェクト.muted = true もしくは false
• trueで音量OFF
• 音量の設定
– video.volume = 0~1
• 0が音量OFF、1が音量最大
Copyright Ⓒ Yoshihiro Takahashi 2012 All Rights Reserved.
17
音楽ファイルの制御
Copyright Ⓒ Yoshihiro Takahashi 2012 All Rights Reserved. 18
音楽の制御の方法
• HTML5の機能である「audioタグ」を利用
して、音楽ファイルの再生が可能
• 制御は、JavaScriptで行うことが出来る
• テキストのようにAudioという命令でも同
様の制御が行える
Copyright Ⓒ Yoshihiro Takahashi 2012 All Rights Reserved.
19
まずは
audioタグを確認
Copyright Ⓒ Yoshihiro Takahashi 2012 All Rights Reserved. 20
videoタグ
• 基本の記述
• 値の必要な属性
– src : ファイル名指定
– preload : none(ファイルを事前に読み込まない)
auto (ファイルを事前に読み込み)
• 値が不必要な属性
– autoplay : 自動再生
– controls : コントローラー
– loop : 繰り返し
<auido src=“ファイル名”属性></video>
Copyright Ⓒ Yoshihiro Takahashi 2012 All Rights Reserved. 21
スマホの問題
• 対応フォーマット(http://caniuse.com/#search=video)
– iOS
• wav,aif,mp3,aac
– Android
• wav,mp3,ogg,aac
• 問題点
– 複数の音を同時に鳴らせない
– Androidではバージョンにより対応していない
場合がある
Copyright Ⓒ Yoshihiro Takahashi 2012 All Rights Reserved. 22
現実的な記述方法
• audioタグ内にsourceタグを記述
<audio 属性たち・・・>
<source src=“ファイル名.mp3”>
<source src=“ファイル名.ogg”>
</audio>
Copyright Ⓒ Yoshihiro Takahashi 2012 All Rights Reserved.
23
JSによる制御
Copyright Ⓒ Yoshihiro Takahashi 2012 All Rights Reserved. 24
コントローラを付けてみよう
• JSによる音楽操作
– いつものように、audioタグをオブジェクト
として利用
– getElementById などでオブジェクトを作成
Copyright Ⓒ Yoshihiro Takahashi 2012 All Rights Reserved. 25
音を鳴らしてみよう
• オブジェクト.pause();
– 一時停止
• オブジェクト. play();
– 再生

More Related Content

Viewers also liked

HTML5 Local Storageを利用したメモ帳アプリ
HTML5 Local Storageを利用したメモ帳アプリHTML5 Local Storageを利用したメモ帳アプリ
HTML5 Local Storageを利用したメモ帳アプリYossy Taka
 
A Guide to SlideShare Analytics - Excerpts from Hubspot's Step by Step Guide ...
A Guide to SlideShare Analytics - Excerpts from Hubspot's Step by Step Guide ...A Guide to SlideShare Analytics - Excerpts from Hubspot's Step by Step Guide ...
A Guide to SlideShare Analytics - Excerpts from Hubspot's Step by Step Guide ...SlideShare
 
Start React with Browserify
Start React with BrowserifyStart React with Browserify
Start React with BrowserifyMuyuu Fujita
 
初めてのConcrete5
初めてのConcrete5初めてのConcrete5
初めてのConcrete5Nobuko Kodera
 
いまさら始めてみたRxJS
いまさら始めてみたRxJSいまさら始めてみたRxJS
いまさら始めてみたRxJSlion-man
 
Meteorというフレームワーク
MeteorというフレームワークMeteorというフレームワーク
Meteorというフレームワークrukiadia
 
翻訳から始めるVue.js 入門
翻訳から始めるVue.js 入門翻訳から始めるVue.js 入門
翻訳から始めるVue.js 入門Makoto Chiba
 
Canvas入門01-図形描画とJS活用-
Canvas入門01-図形描画とJS活用-Canvas入門01-図形描画とJS活用-
Canvas入門01-図形描画とJS活用-Yossy Taka
 
JavaScript 基礎文法のまとめ
JavaScript 基礎文法のまとめJavaScript 基礎文法のまとめ
JavaScript 基礎文法のまとめYossy Taka
 
Canvasでペイントアプリ作成
Canvasでペイントアプリ作成Canvasでペイントアプリ作成
Canvasでペイントアプリ作成Yossy Taka
 
SeleniumIDEとSelenium WebDriver × Node.js Seleniumで業務効率化する15分
SeleniumIDEとSelenium WebDriver × Node.js Seleniumで業務効率化する15分SeleniumIDEとSelenium WebDriver × Node.js Seleniumで業務効率化する15分
SeleniumIDEとSelenium WebDriver × Node.js Seleniumで業務効率化する15分松田 千尋
 
JavaScriptで学ぶajax通信
JavaScriptで学ぶajax通信JavaScriptで学ぶajax通信
JavaScriptで学ぶajax通信NTT Data
 
JavaScript Basic 02 jQuery
JavaScript Basic 02 jQueryJavaScript Basic 02 jQuery
JavaScript Basic 02 jQueryYossy Taka
 
なんとなくjQueryでAjaxをつかってみる
なんとなくjQueryでAjaxをつかってみるなんとなくjQueryでAjaxをつかってみる
なんとなくjQueryでAjaxをつかってみるHidetaka Okamoto
 
メディア芸術基礎 II jQuery入門
メディア芸術基礎 II jQuery入門メディア芸術基礎 II jQuery入門
メディア芸術基礎 II jQuery入門Atsushi Tadokoro
 
jQueryで気をつけてほしいこと
jQueryで気をつけてほしいことjQueryで気をつけてほしいこと
jQueryで気をつけてほしいこと良太 増子
 
WebデザイナのためのjQuery入門。
WebデザイナのためのjQuery入門。WebデザイナのためのjQuery入門。
WebデザイナのためのjQuery入門。Yossy Taka
 

Viewers also liked (20)

HTML5 Local Storageを利用したメモ帳アプリ
HTML5 Local Storageを利用したメモ帳アプリHTML5 Local Storageを利用したメモ帳アプリ
HTML5 Local Storageを利用したメモ帳アプリ
 
2時間で学ぶjQuery
2時間で学ぶjQuery2時間で学ぶjQuery
2時間で学ぶjQuery
 
漢は黙ってjQuery
漢は黙ってjQuery漢は黙ってjQuery
漢は黙ってjQuery
 
A Guide to SlideShare Analytics - Excerpts from Hubspot's Step by Step Guide ...
A Guide to SlideShare Analytics - Excerpts from Hubspot's Step by Step Guide ...A Guide to SlideShare Analytics - Excerpts from Hubspot's Step by Step Guide ...
A Guide to SlideShare Analytics - Excerpts from Hubspot's Step by Step Guide ...
 
Start React with Browserify
Start React with BrowserifyStart React with Browserify
Start React with Browserify
 
初めてのConcrete5
初めてのConcrete5初めてのConcrete5
初めてのConcrete5
 
春のJs祭2015 lt
春のJs祭2015 lt春のJs祭2015 lt
春のJs祭2015 lt
 
いまさら始めてみたRxJS
いまさら始めてみたRxJSいまさら始めてみたRxJS
いまさら始めてみたRxJS
 
Meteorというフレームワーク
MeteorというフレームワークMeteorというフレームワーク
Meteorというフレームワーク
 
翻訳から始めるVue.js 入門
翻訳から始めるVue.js 入門翻訳から始めるVue.js 入門
翻訳から始めるVue.js 入門
 
Canvas入門01-図形描画とJS活用-
Canvas入門01-図形描画とJS活用-Canvas入門01-図形描画とJS活用-
Canvas入門01-図形描画とJS活用-
 
JavaScript 基礎文法のまとめ
JavaScript 基礎文法のまとめJavaScript 基礎文法のまとめ
JavaScript 基礎文法のまとめ
 
Canvasでペイントアプリ作成
Canvasでペイントアプリ作成Canvasでペイントアプリ作成
Canvasでペイントアプリ作成
 
SeleniumIDEとSelenium WebDriver × Node.js Seleniumで業務効率化する15分
SeleniumIDEとSelenium WebDriver × Node.js Seleniumで業務効率化する15分SeleniumIDEとSelenium WebDriver × Node.js Seleniumで業務効率化する15分
SeleniumIDEとSelenium WebDriver × Node.js Seleniumで業務効率化する15分
 
JavaScriptで学ぶajax通信
JavaScriptで学ぶajax通信JavaScriptで学ぶajax通信
JavaScriptで学ぶajax通信
 
JavaScript Basic 02 jQuery
JavaScript Basic 02 jQueryJavaScript Basic 02 jQuery
JavaScript Basic 02 jQuery
 
なんとなくjQueryでAjaxをつかってみる
なんとなくjQueryでAjaxをつかってみるなんとなくjQueryでAjaxをつかってみる
なんとなくjQueryでAjaxをつかってみる
 
メディア芸術基礎 II jQuery入門
メディア芸術基礎 II jQuery入門メディア芸術基礎 II jQuery入門
メディア芸術基礎 II jQuery入門
 
jQueryで気をつけてほしいこと
jQueryで気をつけてほしいことjQueryで気をつけてほしいこと
jQueryで気をつけてほしいこと
 
WebデザイナのためのjQuery入門。
WebデザイナのためのjQuery入門。WebデザイナのためのjQuery入門。
WebデザイナのためのjQuery入門。
 

More from Yossy Taka

WebサイトへのYotutube動画の設置
WebサイトへのYotutube動画の設置WebサイトへのYotutube動画の設置
WebサイトへのYotutube動画の設置Yossy Taka
 
canvasによるアナログ時計の作成
canvasによるアナログ時計の作成canvasによるアナログ時計の作成
canvasによるアナログ時計の作成Yossy Taka
 
Canvasによるデジタル時計制作入門
Canvasによるデジタル時計制作入門Canvasによるデジタル時計制作入門
Canvasによるデジタル時計制作入門Yossy Taka
 
ハイブリッドアプリについて-PhoneGapアプリ制作の入り口-
ハイブリッドアプリについて-PhoneGapアプリ制作の入り口-ハイブリッドアプリについて-PhoneGapアプリ制作の入り口-
ハイブリッドアプリについて-PhoneGapアプリ制作の入り口-Yossy Taka
 
Webの仕組みとプログラミング言語
Webの仕組みとプログラミング言語Webの仕組みとプログラミング言語
Webの仕組みとプログラミング言語Yossy Taka
 
JavaScript04 jquery プラグインを使おう
JavaScript04 jquery プラグインを使おうJavaScript04 jquery プラグインを使おう
JavaScript04 jquery プラグインを使おうYossy Taka
 
JavaScript basic, jQuery animation
JavaScript basic, jQuery animationJavaScript basic, jQuery animation
JavaScript basic, jQuery animationYossy Taka
 
Webデザイン入門1-HTML5・CSSについて-
Webデザイン入門1-HTML5・CSSについて-Webデザイン入門1-HTML5・CSSについて-
Webデザイン入門1-HTML5・CSSについて-Yossy Taka
 
JavaScript Basic 01
JavaScript Basic 01JavaScript Basic 01
JavaScript Basic 01Yossy Taka
 

More from Yossy Taka (9)

WebサイトへのYotutube動画の設置
WebサイトへのYotutube動画の設置WebサイトへのYotutube動画の設置
WebサイトへのYotutube動画の設置
 
canvasによるアナログ時計の作成
canvasによるアナログ時計の作成canvasによるアナログ時計の作成
canvasによるアナログ時計の作成
 
Canvasによるデジタル時計制作入門
Canvasによるデジタル時計制作入門Canvasによるデジタル時計制作入門
Canvasによるデジタル時計制作入門
 
ハイブリッドアプリについて-PhoneGapアプリ制作の入り口-
ハイブリッドアプリについて-PhoneGapアプリ制作の入り口-ハイブリッドアプリについて-PhoneGapアプリ制作の入り口-
ハイブリッドアプリについて-PhoneGapアプリ制作の入り口-
 
Webの仕組みとプログラミング言語
Webの仕組みとプログラミング言語Webの仕組みとプログラミング言語
Webの仕組みとプログラミング言語
 
JavaScript04 jquery プラグインを使おう
JavaScript04 jquery プラグインを使おうJavaScript04 jquery プラグインを使おう
JavaScript04 jquery プラグインを使おう
 
JavaScript basic, jQuery animation
JavaScript basic, jQuery animationJavaScript basic, jQuery animation
JavaScript basic, jQuery animation
 
Webデザイン入門1-HTML5・CSSについて-
Webデザイン入門1-HTML5・CSSについて-Webデザイン入門1-HTML5・CSSについて-
Webデザイン入門1-HTML5・CSSについて-
 
JavaScript Basic 01
JavaScript Basic 01JavaScript Basic 01
JavaScript Basic 01
 

Recently uploaded

CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?akihisamiyanaga1
 
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)UEHARA, Tetsutaro
 
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案sugiuralab
 
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察 ~Text-to-MusicとText-To-ImageかつImage-to-Music...
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察  ~Text-to-MusicとText-To-ImageかつImage-to-Music...モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察  ~Text-to-MusicとText-To-ImageかつImage-to-Music...
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察 ~Text-to-MusicとText-To-ImageかつImage-to-Music...博三 太田
 
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdfAWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdfFumieNakayama
 
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdfクラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdfFumieNakayama
 
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineerYuki Kikuchi
 
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)Hiroshi Tomioka
 

Recently uploaded (8)

CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
 
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
 
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案
 
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察 ~Text-to-MusicとText-To-ImageかつImage-to-Music...
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察  ~Text-to-MusicとText-To-ImageかつImage-to-Music...モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察  ~Text-to-MusicとText-To-ImageかつImage-to-Music...
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察 ~Text-to-MusicとText-To-ImageかつImage-to-Music...
 
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdfAWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
 
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdfクラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
 
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
 
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
 

JavaScriptによるvideo audio要素のコントロール入門

  • 2. Copyright Ⓒ Yoshihiro Takahashi 2012 All Rights Reserved. 2 映像ファイルの制御
  • 3. Copyright Ⓒ Yoshihiro Takahashi 2012 All Rights Reserved. 3 映像の制御の方法 • HTML5の機能である「videoタグ」を利用 して、映像の再生が可能 • 制御は、JavaScriptで行うことが出来る
  • 4. Copyright Ⓒ Yoshihiro Takahashi 2012 All Rights Reserved. 4 まずは videoタグを確認
  • 5. Copyright Ⓒ Yoshihiro Takahashi 2012 All Rights Reserved. 5 videoタグ • 基本の記述 • 値が必要な属性 – width, height • 値が不要な属性 – autoplay, controls, loop, muted <video src=“ファイル名”属性></video>
  • 6. Copyright Ⓒ Yoshihiro Takahashi 2012 All Rights Reserved. 6 ファイルフォーマットの問題 • 対応映像フォーマット(http://caniuse.com/#search=video) – H.264(拡張子 mp4) • IE、Safari、Chromeの最新版でサポート – WebM(拡張子 wevm) • Chrome、Firefox、Operaの最新版でサポート • 問題点 – 両フォーマットに対応したブラウザは、 Chromeのみ
  • 7. Copyright Ⓒ Yoshihiro Takahashi 2012 All Rights Reserved. 7 現実的な記述方法 • videoタグ内にsourceタグを記述 <video 属性たち・・・> <source src=“ファイル名.mp4”> <source src=“ファイル名.wevm”> </video>
  • 8. Copyright Ⓒ Yoshihiro Takahashi 2012 All Rights Reserved. 8 JSによる制御
  • 9. Copyright Ⓒ Yoshihiro Takahashi 2012 All Rights Reserved. 9 コントローラを付けてみよう • 映像の操作 – 映像ファイルの中には、再生ヘッド(のイ メージ)が存在します。 – 再生ヘッドを制御することが、映像を制御す ることになります。 • JSによる映像操作 – videoタグを「HTMLVideoElement」という オブジェクトとして利用 – getElementByIdなどでオブジェクトを作成。
  • 10. Copyright Ⓒ Yoshihiro Takahashi 2012 All Rights Reserved. 10 コントローラを付けてみよう • 再生ヘッドの一時停止と再開 – オブジェクト.pause(); • 再生ヘッド移動を一時停止 – オブジェクト. play(); • 再生ヘッド移動を再開
  • 11. Copyright Ⓒ Yoshihiro Takahashi 2012 All Rights Reserved. 11 一時停止と再生を 一つのボタンに まとめる
  • 12. Copyright Ⓒ Yoshihiro Takahashi 2012 All Rights Reserved. 12 If文と変数で 実現できます
  • 13. Copyright Ⓒ Yoshihiro Takahashi 2012 All Rights Reserved. 13 この変数を フラグと言います
  • 14. Copyright Ⓒ Yoshihiro Takahashi 2012 All Rights Reserved. 14 コントローラを付けてみよう • 戻る・進む などの機能を追加する – オブジェクト.currentTime • 再生ヘッドの場所を知る – オブジェクト.currentTime = 秒 • 再生ヘッドを移動する
  • 15. Copyright Ⓒ Yoshihiro Takahashi 2012 All Rights Reserved. 15 音量ON/OFF
  • 16. Copyright Ⓒ Yoshihiro Takahashi 2012 All Rights Reserved. 16 音量設定 • 音量ON/OFF設定 – オブジェクト.muted = true もしくは false • trueで音量OFF • 音量の設定 – video.volume = 0~1 • 0が音量OFF、1が音量最大
  • 17. Copyright Ⓒ Yoshihiro Takahashi 2012 All Rights Reserved. 17 音楽ファイルの制御
  • 18. Copyright Ⓒ Yoshihiro Takahashi 2012 All Rights Reserved. 18 音楽の制御の方法 • HTML5の機能である「audioタグ」を利用 して、音楽ファイルの再生が可能 • 制御は、JavaScriptで行うことが出来る • テキストのようにAudioという命令でも同 様の制御が行える
  • 19. Copyright Ⓒ Yoshihiro Takahashi 2012 All Rights Reserved. 19 まずは audioタグを確認
  • 20. Copyright Ⓒ Yoshihiro Takahashi 2012 All Rights Reserved. 20 videoタグ • 基本の記述 • 値の必要な属性 – src : ファイル名指定 – preload : none(ファイルを事前に読み込まない) auto (ファイルを事前に読み込み) • 値が不必要な属性 – autoplay : 自動再生 – controls : コントローラー – loop : 繰り返し <auido src=“ファイル名”属性></video>
  • 21. Copyright Ⓒ Yoshihiro Takahashi 2012 All Rights Reserved. 21 スマホの問題 • 対応フォーマット(http://caniuse.com/#search=video) – iOS • wav,aif,mp3,aac – Android • wav,mp3,ogg,aac • 問題点 – 複数の音を同時に鳴らせない – Androidではバージョンにより対応していない 場合がある
  • 22. Copyright Ⓒ Yoshihiro Takahashi 2012 All Rights Reserved. 22 現実的な記述方法 • audioタグ内にsourceタグを記述 <audio 属性たち・・・> <source src=“ファイル名.mp3”> <source src=“ファイル名.ogg”> </audio>
  • 23. Copyright Ⓒ Yoshihiro Takahashi 2012 All Rights Reserved. 23 JSによる制御
  • 24. Copyright Ⓒ Yoshihiro Takahashi 2012 All Rights Reserved. 24 コントローラを付けてみよう • JSによる音楽操作 – いつものように、audioタグをオブジェクト として利用 – getElementById などでオブジェクトを作成
  • 25. Copyright Ⓒ Yoshihiro Takahashi 2012 All Rights Reserved. 25 音を鳴らしてみよう • オブジェクト.pause(); – 一時停止 • オブジェクト. play(); – 再生