0
我一直在嘗試使用音頻元素製作此音樂播放腳本。 所以我的問題是我不希望這些函數在加載元數據之前可用。如何在發生事件監聽器後聲明函數
我在這裏使用這個對象。
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我不太讓你,我明白了回調的基礎知識,但我不能真正明白你的意思(新的在這裏:>)。 – user3621843