原因
1。https://developers.google.com/web/updates/2017/09/autoplay-policy-changes
2.ウェブオーディオの自動再生のポリシーでは、クロム70(2018年10月)に再度有効になります。あなたのウェブサイトはそれと互換性があることを確認してください。https://goo.gl/7K7WLu
ソリューション1
VARのURL = 'のhttp:// YOURDOMAIN /音楽';
VARコンテキスト=新しいAudioContext();
var reqが=新しいXMLHttpRequestを();
req.open( 'GET'、URL、真の);
req.responseType = 'arraybuffer';た音楽= {};
=関数req.onload(){
context.decodeAudioData(req.response、関数(BUF){//バッファにオーディオデコーダを取得
するvarメソッドgetSource =関数(){//ソース・ソースを作成する。
VAR =ソース・コンテキスト。 createBufferSource();
source.buffer = BUF;
source.connect(context.destination);
ソースを返します;
};music.start =関数(){//ゲーム開始
にconsole.log( 'HHH')
メソッドgetSource()スタート();.
};
music.start()。
}、
(エラー)=> {
IF(window.console && window.console.error){
window.console.error( `・オーディオ:$ {urlは} errors`、読み込みエラー);
hasWebAudioAPI.dataがfalseに=;
}
} );
};req.send();
シナリオ2
<オーディオID = "プレイヤー"自動再生>
<ソースSRC = "オーディオ/ source.mp3"タイプ= "オーディオ/ mp3">
</オーディオ>
//需要用户点击一次屏幕
document.addEventListener(、musicPlay 'をクリックしてください');
機能musicPlay(){
のdocument.getElementById( 'プレーヤー')遊びます();
document.removeEventListener( 'クリック'、musicPlay)。
}
ます。https://juejin.im/post/5d020e61e51d4555e372a5ddで再現