JavaScriptでメディア(音声や動画)を停止させる際に使用する`pause()`メソッドについて、具体的な使い方と実装例を解説します。
pause()メソッドとは
`pause()`メソッドは、HTMLの`
基本的な使い方
// HTML要素の取得
const audio = document.querySelector('audio');
const video = document.querySelector('video');
// 音声の停止
audio.pause();
// 動画の停止
video.pause();実践的な実装例
音声プレーヤーの場合
<audio id="myAudio" src="sample.mp3"></audio>
<button onclick="stopAudio()">停止</button>
<script>
function stopAudio() {
const audio = document.getElementById('myAudio');
audio.pause();
}
</script>動画プレーヤーの場合
<video id="myVideo" src="sample.mp4"></video>
<button onclick="stopVideo()">停止</button>
<script>
function stopVideo() {
const video = document.getElementById('myVideo');
video.pause();
}
</script>よくある使用シーン
1. ページ遷移時のメディア停止
window.addEventListener('beforeunload', () => {
const media = document.querySelector('audio, video');
if (media) media.pause();
});2. 複数メディアの同時停止
function stopAllMedia() {
const allMedia = document.querySelectorAll('audio, video');
allMedia.forEach(media => media.pause());
}注意点
- `pause()`メソッドは再生位置を保持したまま停止します
- 完全に最初から再生し直す場合は、`currentTime = 0`の設定も必要です
- メディアが存在しない場合のエラー処理を考慮することをお勧めします
エラー処理の例
function safelyPauseMedia(mediaElement) {
try {
if (mediaElement && typeof mediaElement.pause === 'function') {
mediaElement.pause();
}
} catch (error) {
console.error('メディアの停止に失敗しました:', error);
}
}まとめ
`pause()`メソッドは、JavaScriptでメディアを制御する際の基本的かつ重要なメソッドです。適切なエラー処理と組み合わせることで、より安全なメディア制御が可能になります。ユーザーインターフェースの実装や、ページ遷移時の処理など、様々なシーンで活用できます。