[解決済み] Webサイトで通知音を鳴らすには?
2022-08-10 01:14:11
質問
あるイベントが発生したときに、Webサイトで短い通知音を鳴らすようにしたいのですが、可能でしょうか?
サウンドは ではない ウェブサイトが開かれたときに自動で(即座に)開始されます。 代わりに、JavaScriptで必要に応じて(特定のイベントが発生したときに)再生される必要があります。
これが古いブラウザ(IE6など)でも動作することが重要です。
というわけで、基本的には2つの質問があります。
- どのようなコーデックを使用すればよいのでしょうか。
-
音声ファイルを埋め込むためのベストプラクティスは何ですか?(
<embed>
vs.<object>
vs フラッシュ vs.<audio>
)
どのように解決するのですか?
2021年の解決策
function playSound(url) {
const audio = new Audio(url);
audio.play();
}
<button onclick="playSound('https://your-file.mp3');">Play</button>
ブラウザのサポート
Edge 12+、Firefox 20+、Internet Explorer 9+、Opera 15+、Safari 4+、Chrome
コーデックのサポート
MP3のみ
古い解決策
(レガシーブラウザ用)
function playSound(filename){
var mp3Source = '<source src="' + filename + '.mp3" type="audio/mpeg">';
var oggSource = '<source src="' + filename + '.ogg" type="audio/ogg">';
var embedSource = '<embed hidden="true" autostart="true" loop="false" src="' + filename +'.mp3">';
document.getElementById("sound").innerHTML='<audio autoplay="autoplay">' + mp3Source + oggSource + embedSource + '</audio>';
}
<button onclick="playSound('bing');">Play</button>
<div id="sound"></div>
ブラウザのサポート
使用されるコード
- Chrome、Safari、Internet Explorerに対応したMP3です。
- Firefox および Opera 用の OGG。
関連
-
[解決済み] 配列から特定の項目を削除するにはどうすればよいですか?
-
[解決済み] jQueryで要素が非表示になっているかどうかを確認するには?
-
[解決済み] JavaScriptで文字列が部分文字列を含むかどうかを確認する方法は?
-
[解決済み] あるJavaScriptファイルを他のJavaScriptファイルにインクルードするにはどうすればよいですか?
-
[解決済み] 要素を水平方向にセンタリングする方法
-
[解決済み] JavaScriptでタイムスタンプを取得する方法は?
-
[解決済み】別のウェブページにリダイレクトするにはどうすればいいですか?
-
[解決済み】jQueryでチェックボックスがチェックされているかどうかを確認するにはどうすればよいですか?
-
[解決済み] オブジェクトの配列からReactコンポーネントをレンダリングする
-
[解決済み] JavaScript のオブジェクトの配列を比較し、最小値/最大値を取得する
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み】オーディオを再生するには?
-
[解決済み】Chromeでタブが非アクティブのときにもsetIntervalを動作させるにはどうすればいいですか?
-
[解決済み] jqueryでdivの要素がオーバーフローしていないかチェックする
-
[解決済み] 文字列のn番目の出現箇所を取得するには?
-
[解決済み] WebStormで未解決の変数が大量にある場合の警告に対処する方法は?
-
[解決済み] Reactコンポーネントでthis.setStateを複数回使用するとどうなりますか?
-
[解決済み] 無効になっている入力フィールドの値を送信する
-
[解決済み] Chromeの拡張機能開発にWebStormを使用するにはどうすればよいですか?
-
[解決済み] CORS: 認証モードは 'include' です。
-
[解決済み] querySelectorAllがない場合、ライブラリを使用せずに属性で要素を取得する?