
JavaScriptで再生や停止などvideo要素やaudio要素をコントロールする
過去記事「Webページの動画再生で使うvideo要素を使いこなす」ではHTML5のvideoタグの基本的な使い方をまとめていましたが、このvideoやaudioなどの要素はJavaScriptで外からコントロールすることが可能です。
今回はvideo要素やaudio要素をjavascriptを使ってコントロールするいろいろなサンプルケースをまとめていきたいと思います。
これらのメゾットはいろんなイベントに発火させて使いますが、下記のようにvideo要素、audio要素に使えるイベントも用意されています。
これらのメゾットやイベントを使ってvideo要素、audio要素を操作する時のサンプルのソースコードになります。ここでは再生、一時停止をbutton要素のクリックで制御する例になります。
いかがでしょうか、ただ再生させるのであればHTMLの要素で完結しますが、特定のタイミングで再生や停止をなどの制御をする場合にはjavascriptを使うことで対応できるようになります。サイトコンテンツでも動画を使うケースが増えてきているので、是非参考にしてみてはいかがでしょうか。 (参考にさせて頂いたサイト) video要素、audio要素をJavaScriptから操作する
JavaScriptでメディアの再生や停止を制御する
video要素などをJavaScriptで制御することで、特定のイベントで再生や停止などを行うことができます。これにより、いろんなタイミングで動画や音声を扱うことができるようになります。 これらの要素をJavaScriptで扱うためにいろんなメゾットが用意されています。数はたくさんあるのですが、以下にいくつかまとめています。| Element.play(); | メディアを再生する |
|---|---|
| Element.pause(); | メディアを一時停止する |
| Element.load(); | メディアを読み込む |
| Element.duration(); | メディアの再生時間を取得する |
| Element.currentTime(); | 再生時間を取得する |
| Element.currentTime = 0; | 再生時間を先頭に戻す |
| Element.volume = + [INT]; | ボリュームを上げる |
| Element.volume = - [INT]; | ボリュームを下げる |
| Element.addEventListener('play'); | メディアが再生されている時に実行する |
|---|---|
| Element.addEventListener('pause'); | メディアが一時停止されている時に実行する |
| Element.addEventListener('timeupdate'); | メディアが再生時間が変更された時に実行する |
| Element.addEventListener('volumechange'); | メディアのボリュームが変更された時に実行する |
| Element.addEventListener('ended'); | メディアの再生時間が全て経過し、終了した時に実行する |
<video id="media">
<source src="./movie.mp4">
</video>
<button id="btn_play">再生</button>
<button id="btn_pause">一時停止</button>
<script>
const mediaElem = document.getElementById('media');
const playBtn = document.getElementById('btn_play');
const pauseBtn = document.getElementById('btn_pause');
playBtn.addEventListener('click',function(){
mediaElem.play();
});
pauseBtn.addEventListener('click',function(){
mediaElem.pause();
});
</script>
このようなケースの応用で、簡易メディアプレーヤーのインターフェースも作成することができます。実際に作成したものはこちらに用意しています。
See the Pen GPjaPM by designsupply (@designsupply) on CodePen.
いかがでしょうか、ただ再生させるのであればHTMLの要素で完結しますが、特定のタイミングで再生や停止をなどの制御をする場合にはjavascriptを使うことで対応できるようになります。サイトコンテンツでも動画を使うケースが増えてきているので、是非参考にしてみてはいかがでしょうか。 (参考にさせて頂いたサイト) video要素、audio要素をJavaScriptから操作する
categories
- WordPress(61)
- JavaScript(49)
- Vue.js(48)
- CSS(46)
- jQuery(34)
- Nuxt.js(22)
- Sass(21)
- Gulp(17)
- webpack(16)
- PHP(14)
- HTML(14)
- GSAP(11)
- React(10)
- Vite(9)
- Pug(9)
- Laravel(8)
- Cordova(8)
- Linux(7)
- Next.js(6)
- Apache(5)
- Shopify(4)
- REST API(4)
- Node.js(4)
- Smarty(3)
- Git(3)
- JSON(3)
- その他プログラミング(3)
- Google Apps API(3)
- Bootstrap(3)
- 環境構築・システム(3)
- TypeScript(2)
- EJS(2)
- RMS(2)
- Docker(2)
- Instagram API(2)
- Excel VBA(2)
- SVG(1)
- Dart(1)
- ECカートASP(1)
- Markdown(1)
- AMP(1)
- Nginx(1)
- XML(1)
- shellscript(1)
- Ruby(1)
- MySQL(1)