ブラウザのネイティブ機能によりHTML5動画を再生するのは簡単だが、
・ブラウザの種類によって見た目が異なる
・別のプラグイン(jQuery EasyUI)との相性がよくない
ようなので、プラグインを使ってみる。今回は、MediaElement.js を試した。
- 簡単な使い方
HTML5のvideo要素とJavaScriptで以下のように記述する。(HTMLは通常と同様)
<!-- HTML --> <video id="videoMEsample" width="400" height="240" controls="controls"> <source type="video/mp4" src="..."> </video>
// JavaScript $('#videoMEsample').mediaelementplayer();
これにより、MediaElementのプレーヤー(デフォルト状態)がセットされた状態で表示される。
これはchromeの画面だが、他のブラウザでも(再生可能な動画が指定されていれば)同じ見た目になる。
コードを使ってHTMLのvideo要素にオプション設定する(つまり見た目を制御する)場合は以下の形式を使う。
// JavaScript $('#videoMEsample').mediaelementplayer({ // options.. });
再生や停止などの操作もコードで行いたい場合は、プレーヤーを以下のように実体化する。
// プレーヤーの初期化 //playerME = new MediaElementPlayer('#videoME');// デフォルト設定で初期化する場合 playerME = new MediaElementPlayer('#videoME',{ // initial volume when the player starts // 初期時点の音量(反映されない?) startVolume: 0.2, // the order of controls you want on the control bar(and other plugins below) // コントロールバー上の項目の並び順(プログレスバーの表示がおかしい?) features: ['playpause','current','duration','tracks','volume','fullscreen','progress'], // Hide controls when playing and mouse is not over the video // コントロールを常時表示するかどうか alwaysShowControls: true, // 時間を常時表示するかどうか // forces the hour marker (##:00:00) alwaysShowHours: true, // show framecount in timecode (##:00:00:00) showTimecodeFrameCount: false });
playerME.play(); // 再生する場合 playerME.pause(); // (一時)停止する場合
HTML5は仕様上、停止(stop)を定義していないので、停止したい場合はpause()を使う。