javascript - 哪个 jPlayer 事件指定开始播放的能力?

标签 javascript html audio jplayer

我有一个基本的 jPlayer 设置,可以播放来自 AWS S3 的 (150MB) 音频文件。我的设置基本上是这样的。

  jQuery(function() {
    var $player, jPlayerDefaults, progressCount;

    $player = $('<div>');
    progressCount = 0;
    jPlayerDefaults = {
      ready: function(e) {
        console.log("player ready");

        $player.jPlayer('setMedia', {
          mp3: 'http://s3-eu-west-1.amazonaws.com/some/file.mp3'
        });

        return $player.jPlayer('play', 1234);
      },

      seeking: function(e) {
        return console.log("seeking");
      },

      seeked: function(e) {
        return console.log("seeked");
      },

      canplay: function(e) {
        console.log('canplay');
      },

      progress: function(e) {
        return console.log("progress", progressCount += 1);
      },

      playing: function(e) {
        return console.log("playing");
      },

      error: function(e) {
        return console.log("Error loading audio.", e);
      },

      supplied: 'mp3',
      preload: 'auto'
    };

    $player.jPlayer(jPlayerDefaults);
  });

我的理解来自HTML5 audio specthis SO questioncanplay事件指定音频应该开始播放的点。

但是,当我运行上面的代码时(浏览器缓存为空),我得到以下日志。

player ready
progress 1
progress 2
progress 3
progress 4
canplay
seeking
playing
progress 5
...
progress 888
seeked
progress 889
...
progress 896

我只在 seeked 之后听到音频播放事件。此事件发生在 canplay 之后很长时间(分钟)事件。

这是预期的行为还是我做错了什么?另外,jPlayer 是否遵循 HTML5 <audio>在这里忠实地标记规范?

编辑:如果您想知道,AWS S3 确实接受字节范围请求。

最佳答案

我认为这可能是问题所在:return $player.jPlayer('play', 1234); 一旦媒体可搜索到这一点,您就要求播放器开始播放

return $player.jPlayer('play'); 或者 return $player.jPlayer('play', 5);

此处有更多详细信息 http://www.jplayer.org/latest/developer-guide/#jPlayer-play参数下的小纸条,不好找

关于javascript - 哪个 jPlayer 事件指定开始播放的能力?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16543901/

相关文章:

javascript - 在 JavaScript 中是否有替代已弃用的 e.which 的方法?

javascript - 根据选择值添加 html

Jquery animate 容器水平通过相对定位的页面

java - Max for Live 与 JVAP 工具

javascript - JavaScript音频:MEDIA12899音频/视频:键入MIME

javascript - 分析声音流而不重复它

javascript - 使用 javascript 在 Internet Explorer 中迭代 formData 对象

javascript - node.js socket.io 客户端和服务器

javascript - JavaScript 中的正则表达式

html - 在 R 中格式化 Html 表格 - 使用 Css