jPLayer 播放列表在更改时获取歌曲名称

jPLayer Playlist get song name on change

我正在使用带自动播放的jplayer播放列表。显示播放列表,正在播放歌曲,没问题。但是我想在 jplayer 切换到下一首歌曲时获取当前歌曲的名称。我找不到这方面的任何文档。

如何在更改歌曲时获取当前歌曲名称?

这里是jplayer播放列表示例代码。

var myPlaylist = new jPlayerPlaylist({
  jPlayer: "#jquery_jplayer_N",
  cssSelectorAncestor: "#jp_container_N"
}, [
  {
    title:"Song 1",
    artist:"Artist 1",
    mp3:"http://www.example.com/audio/song1.mp3",
    oga:"http://www.example.com/audio/song1.ogg"
  },
  {
    title:"Song 2",
    artist:"Artist 2",
    mp3:"http://www.example.com/audio/song2.mp3",
    oga:"http://www.example.com/audio/song2.ogg"
  }
], {
  playlistOptions: {
    autoPlay: true,
    enableRemoveControls: true
  },
  swfPath: "/js",
  supplied: "ogv, m4v, oga, mp3",
  smoothPlayBar: true,
  keyEnabled: true,
  audioFullScreen: false // Allows the audio poster to go full screen via keyboard
});

您正在使用 jPlayer 的 playlist addon,来自文档:

The third parameter is an object to define the jPlayer options and jPlayerPlaylist options. This object is passed to jPlayer (...)

here你可以看到jPlayer的可用事件列表。对您的问题有用的是:

$.jPlayer.event.play * Occurs when the media is played.

因此,在您的代码中,您可以添加最后一个参数来覆盖 jPlayer 的 play 事件。在那里您可以访问当时正在播放的歌曲的标题:

play: function(e) {
    console.log(e.jPlayer.status.media.title);
}