【发布时间】:2015-12-28 13:26:27
【问题描述】:
我一直在尝试使用音频元素制作这个音乐播放脚本。 所以我的问题是我不希望这些函数在元数据加载之前可用。
我在这里使用这个对象。
var MusicPlayer = new Object();
MusicPlayer.source;
MusicPlayer.duration = 0;
MusicPlayer.Player = new Audio();
MusicPlayer.metadataloaded = false;
我尝试的是首先创建一个定义这些函数的函数,并且该函数本身由事件侦听器加载。
function Playerinitialize()
{
MusicPlayer.metadataloaded = true;
}
然后
MusicPlayer.Player.addEventListener('loadedmetadata', function()
{
MusicPlayer.duration = this.duration;
console.log(this.duration);
console.log(MusicPlayer.duration / 60);
console.log(this.currentTime);
Playerinitialize();
});
但是说 currentTime 未定义是行不通的。那么我如何实现这一点此外,我这样做是为了防止在音频对象持续时间为 NaN 等时调用此函数。这是最有效的方法吗? 为什么我不能使用 Prototype 向 MusicPlayer 对象添加功能?
【问题讨论】:
-
@Rajesh 我不太明白你,我了解回调的基础知识,但我无法真正理解你的意思(这里是新的:>)。
标签: javascript html audio html5-audio