Как сделать файл <audio> непрерывно воспроизводимым на всех страницах?
Мне интересно, как я могу заставить звуковой файл играть "постоянно" на всех страницах. Поэтому, если звуковой файл воспроизводился в течение 20 секунд, тогда при навигации по другой странице он будет продолжаться с того места, где он остановился. Я также пытаюсь уменьшить громкость после перехода от моей домашней страницы. Любые советы или советы мне оценили бы! Спасибо = D
<audio src="songforsite.mp3" loop="true" autoplay="true" controls>
Unsupported in Firefox
</audio>
Ответы
Ответ 1
Да, это возможно. попробуйте следующее:
<audio preload="auto" src="a.mp3" loop="true" autobuffer>
Unsupported in Firefox
</audio>
<script>
function setCookie(c_name,value,exdays)
{
var exdate=new Date();
exdate.setDate(exdate.getDate() + exdays);
var c_value=escape(value) + ((exdays==null) ? "" : "; expires="+exdate.toUTCString());
document.cookie=c_name + "=" + c_value;
}
function getCookie(c_name)
{
var i,x,y,ARRcookies=document.cookie.split(";");
for (i=0;i<ARRcookies.length;i++)
{
x=ARRcookies[i].substr(0,ARRcookies[i].indexOf("="));
y=ARRcookies[i].substr(ARRcookies[i].indexOf("=")+1);
x=x.replace(/^\s+|\s+$/g,"");
if (x==c_name)
{
return unescape(y);
}
}
}
var song = document.getElementsByTagName('audio')[0];
var played = false;
var tillPlayed = getCookie('timePlayed');
function update()
{
if(!played){
if(tillPlayed){
song.currentTime = tillPlayed;
song.play();
played = true;
}
else {
song.play();
played = true;
}
}
else {
setCookie('timePlayed', song.currentTime);
}
}
setInterval(update,1000);
</script>
Ответ 2
Если вы действительно переходите на другую страницу, то вы не будете получать непрерывное воспроизведение.
Существует три общих подхода:
- откройте аудиоплеер во всплывающем окне
- кадры: один основной кадр для отображения вашей страницы, небольшой кадр для аудиоплеера
- на самом деле не перемещается на другие страницы, но делает все с AJAX и тем самым не перезагружает страницу, а динамически меняет части структуры документа; возможно, добавление функциональности реальных ссылок, включая изменение адресной строки с помощью API истории HTML5
Все подходы имеют свои плюсы и минусы. Popup, возможно, проще всего реализовать и имеет наименьшие недостатки (по сравнению с кадрами).
Я также пытаюсь уменьшить громкость после перехода от моей домашней страницы.
Затем перехватите любые клики по вашей "домашней" ссылке/и вызовите метод volume
элемента audio
со значением параметра в диапазоне от 0 до 1 для установки тома.
Ответ 3
ну.. чистый и аккуратный способ сделать это - это способ, которым soundcloud.com и spoify.com сделали через ajaxifing все страницы
исправить страницу и изменить содержимое страниц через ajax, а также изменить URL-адрес, чтобы дать пользователю иллюзию навигации
это не самое простое или быстрое решение, но оно самое чистое... от страха несовместимости браузеров.