SoundManager插件暂停它并记住一个cookie

SoundManager plugin pause it and remember with a cookie

本文关键字:一个 cookie 暂停 插件 SoundManager      更新时间:2023-09-26

我在互联网上发现了一个使用soundmanager的片段,它允许加载页面并将背景音乐保持在与以前相同的位置。它有一个播放/暂停按钮,有一个cookie来记住音乐和按钮的状态。按钮工作正常,当我点击它,它播放或暂停音乐,它改变它的图标(从>到|或从||到>)。如果我暂停音乐,然后重新加载页面,音乐又开始播放,按钮的图标保持不变。

如果你不明白我对这个问题的肮脏描述,请查看:http://verypgm.net16.net/portfolio/

还有脚本:

var son;
soundManager.onload = function() {
  var bouton_muet = document.getElementById('muet');
  var cookie_muet = getCookie('SM2muet');
  if(cookie_muet == "") { cookie_muet = "unmuted"; }
    son = soundManager.createSound(
    {
        id : "son",
        url : "msc/HammockTheHouseWhereWeGrewUp.mp3",
        volume: "30",
    onload : function() {
      if(cookie_muet == "muted") {
        bouton_muet.src = "scr/m/p2.png";
        son.pause();
      }else{
        bouton_muet.src = "scr/m/p1.png";
}
      var position = getCookie('SM2position');
      if(position=="") { position = 0; }
      son.setPosition(position);
     son.play();
    },
    onfinish : function() {
      son.setPosition(0);
    },
    autoLoad : true
    });
  bouton_muet.onclick = function() {
    if(son.paused) {
      son.play();
      this.src = "scr/m/p1.png";
    } else {
      son.pause();
      this.src = "scr/m/p2.png";
    }
  };
};

window.onbeforeunload = function() {
  setCookie('SM2position',son.position,1);
  setCookie('SM2muet',(son.paused?'muted':'unmuted'),1);
};
function setCookie(c_name, value, expiredays) {
  var exdate=new Date();
  exdate.setDate(exdate.getDate()+expiredays);
  document.cookie=c_name+ "=" +escape(value)+
  ((expiredays==null) ? "" : ";expires="+exdate.toGMTString());
}
function getCookie(c_name) {
  if (document.cookie.length>0) {
    c_start=document.cookie.indexOf(c_name + "=");
    if (c_start!=-1) { 
      c_start=c_start + c_name.length+1; 
      c_end=document.cookie.indexOf(";",c_start);
      if (c_end==-1) c_end=document.cookie.length;
      return unescape(document.cookie.substring(c_start,c_end));
    } 
  }
  return "";
}

这对我来说很重要,因为音乐真的很适合我的照片,我希望游客们能听到我的灵感所以谢谢你的阅读/帮助我!

您确实可以保存播放的歌曲名称(如果您有多首歌曲),并且在加载网页时使用如下内容:

s = soundManager.getSoundById(nameOfSong);
s.setPosition(offsetInSeconds);
s.play();