【问题标题】:How to save current playing song in cookie?如何将当前播放的歌曲保存在 cookie 中?
【发布时间】:2015-07-12 07:38:02
【问题描述】:

我正在使用 jPlayer 插件。这是一个例子link [ jsfiddle ]

我将当前播放的曲目编号保存在 cookie 中。浏览器重新加载后,它会从 cookie 加载的曲目编号开始播放。这可行,但问题是,在当前曲目结束后,它会从播放列表的第一首曲目开始播放。我希望它继续下一个曲目。

当前情况示例:

  • 播放列表有 10 首歌曲
  • 点击了第 3 首歌曲
  • cookie 保存的第 3 首歌曲
  • 浏览器重新加载
  • 开始播放播放列表中的第 3 首歌曲
  • 第三首歌曲结束
  • 从第 1 首歌曲开始播放

期望的情况:

  • 播放列表有 10 首歌曲
  • 点击了第三首歌曲
  • cookie 保存的第 3 首歌曲
  • 浏览器重新加载
  • 开始播放播放列表中的第 3 首歌曲
  • 第三首歌曲结束
  • 开始播放第 4 首歌曲
  • 第四首歌曲结束
  • 开始播放第 5 首歌曲
  • ...

【问题讨论】:

  • 你有什么问题?
  • 你现在明白了吗? @alan0xd7

标签: javascript jquery audio cookies jplayer


【解决方案1】:

myPlayer.play() 需要一个 integer 值,但是当您从 cookie 中读取时,您会得到一个 string。因此,要解决您的问题,只需将值传递给 parseInt(),如下所示:

myPlayer.play(parseInt(playnow));

您会注意到,在页面重新加载时,播放列表中会在开始播放时选择正确的曲目,并且会正确地继续播放下一个曲目。

演示:http://jsfiddle.net/alan0xd7/6kx616hr/1/

顺便说一句,我认为setInterval1(1 毫秒)太多了,也许1000(1 秒)就足够了。

【讨论】:

  • 谢谢兄弟,但我想知道什么是 parseInt()?如果你投了反对票,请投赞成票,接下来我没有分数可以问任何问题...@alan0xd7
  • parseInt() 将值转换为integer,它是一种不同的数据类型。 integer 是一个数字,而 string 是一系列字母。
  • 例如:var a = "1";var b = 1;,这里astring(注意引号),bintegera != b跨度>
  • 阅读更多关于JavaScript data types
  • 我没有。也许下次你可以更好地写你的问题,所以它更具可读性。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2018-08-18
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-09-15
  • 2011-04-10
  • 2015-05-17
相关资源
最近更新 更多