Le code suivant est destiné à permettre à la page de glisser vers une plage spécifique dans WeChat pour lire un audio spécifique.
Le problème actuellement rencontré est que l'audio n'est pas lu lorsque la page glisse, mais tant que l'on clique sur chaque audio pour le lire. puis mis en pause, il peut être joué en glissant. Puis-je demander pourquoi ? Quel morceau de code n'est pas écrit en toute sécurité ?
<audio id="a1" src="http://mat1.gtimg.com/ln/images/mp3/11.mp3" loop controls preload="load"></audio>
<audio id="a2" src="http://mat1.gtimg.com/ln/images/mp3/22.mp3" loop controls preload="load"></audio>
<p class="wrap" id="wp">
<p class="audio2"></p> <img src="http://img1.gtimg.com/ln/pics/hv1/133/63/2205/143396323.jpg" alt="" width="100%"> </p>
<script src="http://res.wx.qq.com/open/js/jweixin-1.0.0.js"></script>
<script>
function autoPlayAudio1() {
wx.config({
// 配置信息, 即使不正确也能使用 wx.ready
debug: false
, appId: ''
, timestamp: 1
, nonceStr: ''
, signature: ''
, jsApiList: []
});
wx.ready(function () {
var mp3 = document.getElementById('bgmusic')
, a1 = document.getElementById('a1')
, a2 = document.getElementById('a2');
//a1.play();
console.log('ok')
$(window).scroll(function () {
var x = $('.audio2').offset().top - $(window).scrollTop();
console.log(x)
if (x < 4500 && x > 4000) {
a1.play();
a2.pause();
}
else if (x < 4000 && x > 3500) {
a2.play();
a1.pause();
}
});
});
}
autoPlayAudio1();
</script>
Vous pouvez essayer de remplacer l'événement surveillé par touchmove.
Dans certains terminaux mobiles, en particulier iOS, l'audio ne peut pas être lu automatiquement sans interaction de l'utilisateur ou avoir js pour contrôler directement la lecture. Il s'agit d'une limitation du système.