ウェブオーディオの自動再生のポリシーは再生できないオーディオで再有効化されます

原因
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で再現

おすすめ

転載: blog.csdn.net/weixin_34009794/article/details/93168815