HTML5 音频不会在 Firefox 中第二次播放
HTML5 audio will not play a second time in Firefox
我正在开发一个网络应用程序,我需要在其中播放单词和句子音频文件。我正在使用骨干网从服务器获取和呈现内容。音频文件存在于 S3 上。渲染内容时,我播放单词音频文件,然后播放句子音频文件。我还有一个按钮,因此可以重播单词和句子音频。
我的问题是Firefox在初始播放后不会重播音频文件。当调用playWord
和playSentence
时,什么也没发生。代码字在Safari和Chrome中很好。
events: {
"click a#play-sentence": "playSentence",
"click a#play-word": "playWord"
},
// render markup when model has synced with server
render: function() {
this.$el.html(this.template({ exam: this.model }));
this.cacheMedia();
return this;
},
// save audio objects. play word then sentence
cacheMedia: function() {
this.audioWord = this.$el.find('#audioWord').get(0);
this.audioSentence = this.$el.find('#audioSentence').get(0);
this.audioWord.addEventListener('ended', function(){
this.currentTime = 0;
}, false);
this.audioSentence.addEventListener('ended', function(){
this.currentTime = 0;
}, false);
var view = this;
var playSentence = function() {
view.audioSentence.play();
view.audioWord.removeEventListener('ended', playSentence);
};
this.audioWord.addEventListener('ended', playSentence);
this.audioWord.play();
},
// play sentence audio
playSentence: function(e) {
e.preventDefault();
this.audioWord.pause();
this.audioWord.currentTime = 0;
this.audioSentence.play();
},
// play word audio
playWord: function(e) {
e.preventDefault();
this.audioSentence.pause();
this.audioSentence.currentTime = 0;
this.audioWord.play();
}
您需要做的就是在这两种情况下都调用.load()
,即 playWord()
只需要this.audioWord.load();
,playSentence()
只需要this.audioSentence.load()
;。
相关文章:
- Javascript Select OnChange没有'不要第二次工作
- 相同的RegExp返回不同的结果-第一次是正确的结果,第二次是null
- 单击仅在第二次单击后有效
- 推特引导:弹出窗口不会在第一次点击时出现,但会在第二次点击时显示
- 第二次点击具有不同功能的按钮并更改文本
- 更改第二次推送时不起作用的元素高度
- 在第二次选择中选择2更改属性
- on(“点击”)仅在第二次点击后触发
- 在HTML中,如果第二次加载相同的脚本文件,它还会被加载吗
- Sails.js/Waterline.add()和.remove()仅适用于第二次调用
- 尝试在两次迭代中警告同一选择器的值,在第一次迭代中得到正确的值,而在第二次迭代中获得不正确的值.为什么?
- java脚本中的谷歌地图在第二次点击时不起作用
- 更改类名后,将第二次单击事件附加到元素
- 提交按钮只能在onchange调用输入文本后第二次点击时工作
- 将音频第二次转换为分钟和秒格式
- Jquery移动转换复选框在Jquery onclick函数()中第二次选中不起作用
- HTML5 音频不会在 Firefox 中第二次播放
- IE9 HTML5 视频“播放”事件在第二次播放时未触发
- HTML按钮标签被卡住并获胜'不要在第二次点击时播放HTML5音频
- 点击第二次后,Fancybox视频无法播放(错误?)