Javascript 哪个jPlayer事件指定开始播放的能力?
我有一个基本的jPlayer设置,可以播放来自AWSS3的(150MB)音频文件。我的设置基本上是这样的Javascript 哪个jPlayer事件指定开始播放的能力?,javascript,html,audio,jplayer,Javascript,Html,Audio,Jplayer,我有一个基本的jPlayer设置,可以播放来自AWSS3的(150MB)音频文件。我的设置基本上是这样的 jQuery(function() { var $player, jPlayerDefaults, progressCount; $player = $('<div>'); progressCount = 0; jPlayerDefaults = { ready: function(e) { console.log
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);
});
我只在搜索事件后听到音频播放。此事件发生在canplay
事件之后很长一段时间(分钟)
这是预期的行为还是我做错了什么?另外,jPlayer是否忠实地遵循HTML5的标签规范
编辑:如果您想知道,AWS S3确实接受字节范围请求。我认为问题可能在于:返回$player.jPlayer('play',1234)代码>您要求播放机在媒体可搜索到该点时开始播放,请尝试
返回$player.jPlayer('play')代码>
或
返回$player.jPlayer('play',5)代码>
这里有更多详细信息参数下的小注释,不容易找到它我在主干网中使用的示例:
$(this.$el.jPlayer()).bind($.jPlayer.event.canplay, _.bind(function (event) {
that.doCanPlay();
});
当用户使用洗涤器小部件时,是否已查找
?也许它会在下载或播放时间结束时触发一次?我不确定“洗涤器小部件”是什么?你能尝试记录“canplaythrough”吗?它似乎在等待整个文件加载canplaythrough
发生在canplay
之后。但是1234
是用户选择的时间。如果我不能发挥这一点,那对我没有好处。检查aws是否支持接受范围,在firebug中查看服务器的响应是否在其标题中包含接受范围。它确实支持。我以前检查过。现在我想起来了,我要把它加到问题上。
$(this.$el.jPlayer()).bind($.jPlayer.event.canplay, _.bind(function (event) {
that.doCanPlay();
});