Я хочу использовать jquery для получения продолжительности звука синхронно с ожиданием.
Я хочу получать предупреждающие сообщения в следующем порядке:
111
222 leng=1.549188
333 duration=1.549188
444
Но у меня асинхронный порядок:
111
333 duration=9999
444
222 leng=1.549188
Как это исправить?
var duration = 99999 ;
async function getAudioUrlDuration(src, callBackFun) {
var audio = new Audio();
audio.src = src;
await $(audio).on("loadedmetadata", function(){
callBackFun( audio.duration );
duration = audio.duration ;
});
}
function callBackFun3(leng){
alert('222 leng='+leng) ;
}
var src = "https://www.w3schools.com/tags/horse.mp3" ;
async function aaa(){
alert(111);
await getAudioUrlDuration(src, callBackFun3 ) ;
alert( '333 duration='+duration ) ;
alert(444);
}
aaa();
Подробнее здесь: https://stackoverflow.com/questions/784 ... edmetadata