如何将音频添加到所有 html 个页面

how to add audio to all html pages

我需要一个选项来在一个页面上停止播放器中的音乐,并确保它不会在下一个页面上运行它。

我成功地使用音频标签将音乐添加到每个页面,但每当我转到另一个页面时,文件会再次重新打开。 我没有找到答案怎么办

旁边打开弹出窗口 - 但这不是最好的方式

我试图隔离音频并将它放在一个单独的 asp 文件中,以便在音乐打开或关闭时获取会话(运行 来自每个 [=29 的 iframe 的 asp =] 页)。

<html>
<head>
<META HTTP-EQUIV="Content-Type" CONTENT="text/html"; charset="utf-8">

</head>
<body>
<%
Session("music")=Request("b1")
if Session("music")="" then 

%>
<form method="post" action="music.asp">
<button onclick="display()" type="radio" name="b1"   class="ato2"  style="position:absolute;cursor:pointer;width: 50px;  height: 50px;background-image: url('withsound.png');   background-repeat: no-repeat;background-size: 45px 45px;  " value="off"></button>


  <audio id="myplayer" autoplay="true" controls="false" loop="true" hidden="hidden" mediagroup="AnyName" autobuffer>
  <source src="music/enter.mp3" type="audio/mpeg" >
  Your browser does not support the audio element.
</audio> 
</form>
<%
elseif Session("music")  = "off" then 

%>
<form method="post" action="music.asp">
<button onclick="display()" type="radio" name="b1"   class="ato2"  style="position:absolute;cursor:pointer;width: 50px;  height: 50px;background-image: url('nosound.png');background-repeat: no-repeat;background-size: 45px 45px; " value=""></button>


</form>
<%
end if
Session("music")=Request("b1")
response.write "<br>"
response.write "music:" & Session("music")

%>
</body>
</html>

本以为是简单的会话传输,但没有成功。

我找到了我要找的答案

The Application Object it's exactly what i needed in order to save information to the next page so now i know whenever user switch music of or on

您不想在服务器端处理音频,除了一些简单的事情,比如存储 cookie 和确定音频是否应该自动播放。

问题是,当您在背景音乐上使用音频时,页面刷新。每次页面刷新,音频都会停止,然后重新播放。

几个选项:

  1. 您可以对整个站点进行框架设置,然后让主框架播放音频。框架的缺点是众所周知的。他们可以为设计创造噩梦,甚至为 SEO
  2. 您可以打开一个弹出窗口window,但是那非常难看
  3. 您可以使用不刷新整个页面的现代 AJAX 类型技术构建您的网站。这会将您的网站变成 SPA

如果您不介意每次用户从一个页面导航到另一个页面时音乐开始/停止,或者如果您只是使用音频来提醒和蜂鸣以引起用户的注意,那么最好的办法是存储每个用户的音频偏好在 cookie 中,如果用户已登录,则将这些设置记录到用户数据库中。