如何在播放之前完全加载音频?

Nir*_*ary 5 javascript php audio jquery html5

我必须在播放之前完全加载音频.播放器完全加载后应自动播放音频.不应该有暂停按钮/用户无法暂停它.这是我的代码,但无法执行此操作.

超文本标记语言:

<audio class="audio-player" onloadeddata="myOnLoadedData()" onprogress="myOnProgress()"  src="<?php echo $audio_link;?>" controls>
Run Code Online (Sandbox Code Playgroud)

JavaScript的:

function myOnLoadedData() {
    console.log('Loaded data'); 
    $('audio.audio-player').attr('autoplay','autoplay');
}
function myOnProgress(){
    console.log('downloading');
}
Run Code Online (Sandbox Code Playgroud)

或者还有其他任何符合我要求的玩家吗?

gue*_*314 6

尝试使用XMLHttpRequest返回Blob音频文件new Audio(),,,.load().play()

var request = new XMLHttpRequest();
request.open("GET", "/path/to/audio/file/", true);
request.responseType = "blob";    
request.onload = function() {
  if (this.status == 200) {
    var audio = new Audio(URL.createObjectURL(this.response));
    audio.load();
    audio.play();
  }
}
request.send();
Run Code Online (Sandbox Code Playgroud)