gpt4 book ai didi

javascript - 你如何在两个功能之间暂停?

转载 作者:行者123 更新时间:2023-11-29 01:42:25 25 4
gpt4 key购买 nike

我之前问的一个问题已经让我到达了我需要去的地方的一半,我现在有 1 个函数可以触发 2 个函数。播放文件的“加载器”函数(微调器图形)和 playAudio。

   function loadPlay(src, trackName) {
loader();
playAudio(src, trackName);
}

单击播放按钮时,应该会出现加载微调器,而当播放音频时,微调器应该会消失。

播放按钮:

<span class="play"  onclick="loadPlay('http://a797.phobos.apple.com/us/r30/Music/72/89/b9/mzi.aytblawp.aac.p.m4a','t3')"  id="t3">

但是发生了什么事是在点击播放按钮后有一个轻微的停顿(当音频加载时)并且音频和微调器同时出现?加载程序应该在轨道加载时出现,然后在音频播放时消失?

如何添加暂停以确保加载程序在音频播放之前出现?

两个函数:

function loader() {
// make a loader spinner appear as track loads
$(".loading").addClass("loadingnow");
}

function playAudio(src,trackname) {
// for Android
if (audioPlaying === false) {
if (device.platform == 'Android') {
src = '/android_asset/www/' + src;
}
media = new Media(src, success, error_error);
media.play();
//add playing class so play button is replaced with stop button
document.getElementById(trackname).parentNode.className="playing";
// now track is playing remove the loader spinner
$(".loading").removeClass("loadingnow");
audioPlaying = true;
} else {
//audio is already playing
}
}

function success() {
// track has finished playing so remove the stop button put play button back
$(".playing").removeClass("playing");

audioPlaying = false;
}

function error_error(e) {
//alert('great error');
//alert(e.message);
}

function stopAudio() {
// stop playing track
if (media) {
media.stop();
audioPlaying = false;
}
}

最佳答案

您可以使用 setTimeout 强制 jQuery 等待一定的毫秒数

function loadPlay(src, trackName) {
loader();
setTimeout(function(){
playAudio(src, trackName);
}, 1000);
}

这将强制 playAudio 等待 1 秒。您的加载程序将弹出,但您的用户将因此不得不再等待一秒钟。

关于javascript - 你如何在两个功能之间暂停?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23675085/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com