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();
– 再生

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

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